[백준/자바] 1110번: 더하기 사이클 (알고리즘을 정확하게 이해하기!!)
1. 문제
https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
2. 내 코드
문제는 이해하였으나, 자바 언어로 작동할 수 있게 알고리즘을 정확하게 구현하지 못함. 그래서 실패.
3. 다시 체크하고 넘어갈 부분
1. 이 문제의 알고리즘 제대로 이해하기 (알고리즘만 제대로 구현했다면 while 문 쓰는 것 자체는 어렵지 않았다. 그래도 이 문제로 while문도 함께 복습하기.)
출처: https://st-lab.tistory.com/42
import java.io.*;
public class Ex1110 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(sr.readLine());
int copy = N;
int count = 0;
sr.close();
while(true) {
N = ((N%10)*10) +(((N/10)+(N%10))%10);
count++;
if(copy == N) {
break;
}
}
System.out.println(count);
}
}