algorithm/백준
백준 1769 Java 자바
umilove98
2021. 8. 20. 07:26
반응형
x를 입력받으면 x가 한자리수인지 확인한다.
한자리수가 아니라면 한자리수가 될 때까지 변환과정을 반복한다.
변환과정은 각 자리의 수를 모두 더하여 그것을 x에 대입하는것이다.
x가 한자리수가 되면 변환 과정을 종료하고 변환한 횟수와 3의배수인지의 여부를 판단하여 출력한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Q1769 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String x = br.readLine();
int cnt = 0; // 변환 과정을 거친 횟수
while(true) {
long sum = 0;
if(x.length() == 1) { // x가 한자리일 경우 변환 과정 종료
break;
}
for(int i = 0; i < x.length(); i++) { // 각 자리를 모두 더함
sum += Integer.parseInt(String.valueOf(x.charAt(i)));
}
cnt++;
x = String.valueOf(sum); // 변환 결과를 x에 넣어줌
}
if(Integer.parseInt(String.valueOf(x)) % 3 == 0) { // 변환 결과가 3의 배수인지 판단
System.out.println(cnt);
System.out.println("YES");
}else {
System.out.println(cnt);
System.out.println("NO");
}
}
}
|
cs |
반응형