Java(자바) 백준 1110번 문제이다.
알고리즘
0 ≤ N ≤ 99 의 조건을 가진 N이 주어진다.
N < 10 이면 앞자리에 0을 붙여 2자리 수로 만든다.
각 자리의 숫자끼리 더한 sum 을 구한다.
처음 주어진 N의 가장 오른쪽 자리 수와 sum의 가장 오른쪽 자리 수를 이어붙여 새로운 수를 만든다.
그렇게 계속하여 제일 처음 주어졌던 N과 새로운 수가 같다면 그 때까지 돌았던 사이클을 출력한다.
1. N을 받는다.
2. N의 복사본 M을 만든다.
3. 위 알고리즘 과정을 그대로 진행하지 않고 바로 새로운 수를 만든다.
3-1. N의 1의 자릿수를 구한다. (N의 나머지)
3-2. N의 10의 자릿수를 구한다. (N의 몫)
3-3. 1의 자릿수와 10의 자릿수를 더한 값을 만든다.
3-4. (N의 1의 자릿수 * 10) + ( 더한 값의 1의 자릿수) 하여 새로운 수를 만든다.
4. 새로운수 == N 이면 반복문 종료.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class No_1110 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int M = N;
int count = 0;
do {
count++;
N = ((N % 10) * 10) + (((N % 10) + (N / 10)) % 10);
} while (M != N);
System.out.println(count);
}
}
'코딩테스트 > Java - 백준' 카테고리의 다른 글
[백준] 2577번 - Java(자바) (0) | 2022.01.23 |
---|---|
[백준] 2562번 - Java(자바) (0) | 2022.01.18 |
[백준] 10818번 - Java(자바) (0) | 2022.01.14 |
[백준] 10952번 - Java(자바) (0) | 2022.01.09 |
[백준] 2439번 - Java(자바) (0) | 2022.01.04 |