자바알고리즘 - 구현 - 럭키스트라이크
문제
현재 캐릭터의 점수 N
자리수를 기준으로 N을 반으로 나누어 왼쪽부분의 자리수 합과 오른쪽 부분의 자리수 합을 더한 값이 동일한 상황
ex)) 123,402 면 1+2+3 4+2 는 같음.
N이 주어지면 럭키 스트레이트를 사용할 수 있는 상태인지 아닌지를 알려준다.
N은 10 ~ 99,999,999 O(N) ~ O(logN)
럭키 스트레이트면 LUCKY 없으면 READY
생각
1.for문으로 순차탐색으로 자리수의 반이 도달하기 전까지는 앞자리 수를 더해주고
2.자리수 반 이후로는 뒷자리 수를 더해주자 (if를 활용하여)
코드
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String N = bf.readLine();
int length = N.length();
int front_num =0;
int back_num=0; //오른쪽 자리수 합 체크 변수
for(int i=0 ; i<length; i++) { //charAt - '0'
if(i<=(length/2)-1) {
front_num += N.charAt(i) - '0'; //아스키 코드 응용
}
else{
back_num += N.charAt(i) - '0';
}
}
if(front_num == back_num) {
System.out.println("LUCKY");
}
else {
System.out.println("STRIKE");
}
'알고리즘 > 구현' 카테고리의 다른 글
이것이 코딩 테스트다 - chapter04 - 예제4-2 시각 , 백준 자바 18312 시각 (1) | 2024.10.12 |
---|---|
이것이 코딩 테스트다 - chapter04 - 예제4-1 상하좌우 (0) | 2024.10.12 |
자바알고리즘 - 구현 - 자물쇠와 열쇠 (0) | 2024.02.02 |
자바알고리즘 - 구현 - 문자열 압축 (0) | 2024.01.29 |
자바알고리즘 - 구현 - 문자열 재정렬 (0) | 2024.01.22 |