728x90
반응형
https://www.acmicpc.net/problem/14626
풀이
13개의 숫자로 이루어진 문자가 주어지고 훼손된 *에 들어갈 숫자를 찾는 문제입니다.
*의 위치만 기록하고 나머지는 짝수번째면 그 숫자 그대로 아니면 *3을 하여 합을 구해줍니다.
*에 들어갈 수는 0부터 9까지이므로 완탐으로 while문을 돌려주면 됩니다.
*의 위치가 짝수면 (합 + 찾는 수) % 10 이 0일 때 찾는수가 되므로 출력
홀수면 (합 + 찾는 수 * 3) % 10이 0일 때 찾는 수가 되므로 출력
해주면 됩니다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int check = 0, num = 0;
for(int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if(ch != '*') {
num += i % 2 == 0 ? ch - '0' : (ch - '0') * 3;
}
else {
check = i;
}
}
int answer = 0;
while(true) {
if(check % 2 == 0) {
if((num + answer) % 10 == 0) {
System.out.print(answer);
break;
}
}
else {
if((num + answer * 3) % 10 == 0) {
System.out.print(answer);
break;
}
}
answer++;
}
}
}
728x90
반응형
'백준 > 10001 - 15000' 카테고리의 다른 글
[백준] 10815번 : 숫자 카드(JAVA) (0) | 2021.08.01 |
---|---|
[백준] 12107번 : 약수 지우기 게임1(JAVA) (0) | 2021.07.29 |
[백준] 13773번 : Olympic Games(JAVA) (0) | 2021.07.22 |
[백준] 13163번 : 닉네임에 갓 붙이기(JAVA) (0) | 2021.07.20 |
[백준] 10874번 : 이교수님의 시험(JAVA) (0) | 2021.07.20 |
댓글