코딩 테스트/이것이 코딩 테스트다

[이것이 코딩 테스트다 with Java] 구현 예제 - 럭키 스트레이트

2023. 1. 18. 23:24
반응형

럭키 스트레이트

난이도 ●○○ | 풀이 시간 20분 | 시간 제한 1초 | 메모리 제한 256MB | 기출 핵심 유형

게임의 아웃복서 캐릭터는 필살기인 '럭키 스트레이트' 기술이 있습니다. 이 기술은 매우 강력한 대신에 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있습니다.
특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 자릿수를 기준으로 점수 N을 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미합니다. 예를 들어 현재 점수가 123,402라면 왼쪽 부분의 각 자릿수의 합은 1 + 2 + 3, 오른쪽 부분의 각 자릿수의 합은 4 + 0 + 2이므로 두 합이 6으로 동일하여 럭키 스트레이트를 사용할 수 있습니다. 현재 점수 N이 주어지면 럭키 스트레이트를 사용할 수 있는 상태인지 아닌지를 알려주는 프로그램을 작성하세요.

 

입력 조건

  • 첫째 줄에 점수 N이 정수로 주어집니다. (10 <= N <= 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어집니다. 예를 들어 자릿수가 5인 12,345와 같은 수는 입력으로 들어오지 않습니다.

출력 조건

  • 첫째 줄에 럭키 스트레이트를 사용할 수 있다면 "LUCKY"를, 사용할 수 없다면 "READY"를 출력합니다.

입력/출력 예시

입력 예시 출력 예시
123402 LUCKY
7755 READY

요점

  • 요구하는 바와 같이 왼쪽과 오른쪽을 구분하여 값을 비교한다. 

소스 코드

import java.util.*;

public class Main
{
	public static void main(String[] args) {
	    Scanner scan = new Scanner(System.in);
	    
	    String numStr = scan.next();
	    int summary = 0;
	    
	    for(int i = 0; i < numStr.length(); i++){
	        if(i < numStr.length() / 2){
	            summary += numStr.charAt(i) - '0';;
	        } else {
	            summary -= numStr.charAt(i) - '0';;
	        }
	    }

	    System.out.println(summary == 0 ? "LUCKY" : "READY");
	}
}

 

문제 풀이 후기

문제에서 요구하는 바를 그대로 구현하면 되는 복잡하지 않은 문제라 쉽게 해결했다. 다만 처음에는 변수 2개를 사용해서 더해진 값을 비교했는데 나동빈님의 풀이를 보니 왼쪽은 더하기 오른쪽은 마이너스로해서 결과가 0이면 같은 값으로 보는 방법을 사용하시길래 훨씬 효율적인 것 같아 나도 변경했다.

 

GitHub: https://github.com/Leeyeonjae/coding-test/blob/main/12_Implementation_Example/12_1_luckyStraight.java

참고서적 : 이것이 취업을 위한 코딩 테스트다 with 파이썬 by 나동빈

반응형
저작자표시 비영리 변경금지
'코딩 테스트/이것이 코딩 테스트다' 카테고리의 다른 글
  • [이것이 코딩 테스트다 with Java] 구현 예제 - 문자열 압축
  • [이것이 코딩 테스트다 with Java] 구현 예제 - 문자열 재정렬
  • [이것이 코딩 테스트다 with Java] 그리디 예제 - 무지의 먹방 라이브
  • [이것이 코딩 테스트다 with Java] 그리디 예제 - 볼링공 고르기
Jayleen_
Jayleen_
뚝딱뚝딱 개발 이야기
Jayleen_
연_공간
Jayleen_
전체
오늘
어제
  • 분류 전체보기 (75)
    • 백엔드 (Backend) (20)
      • 자바 (Java) (6)
      • 스프링 (Spring) (1)
      • 루비 온 레일즈 (Ruby on Rails) (13)
    • 개발 환경 (8)
      • Git (2)
      • IDE (1)
      • Mac (5)
    • 코딩 테스트 (32)
      • 프로그래머스 (15)
      • 이것이 코딩 테스트다 (17)
    • 자기개발 (7)
      • 재테크 (3)
      • 세미나 (1)
    • 일상 (8)
      • 여행 (3)
      • 맛집 (4)

블로그 메뉴

  • 관리자
  • 글쓰기

인기 글

태그

  • Java
  • JVM메모리구조
  • 충주 탄금호 무지개 다리
  • 라온빌리지
  • SCDF
  • 힙지로술집
  • 맥북화면분할
  • 자바
  • 충주 탄금호 무지개길
  • 사랑의 불시착 촬영지
  • 을지로술집
  • 겨울 글램핑장
  • MacPro
  • rubyonrails
  • 충주 탄금호 캠핑리조트
  • 발산카페
  • 맥북앱
  • Mac
  • 실내 운전면허학원
  • 충주 중앙탑 공원
  • 신촌이지카
  • 자바런타임영역
  • 탄금호 글램핑
  • 신촌 운전면허연습장
  • DML
  • 운전면허
  • 자바메모리구조
  • 유튜브 프리미엄 구글 홈 미니
  • 펠어커피마곡점
  • 힙지로맛집

최근 댓글

최근 글

hELLO · Designed By 정상우.
Jayleen_
[이것이 코딩 테스트다 with Java] 구현 예제 - 럭키 스트레이트
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.