신입 개발자가 되기 위해 공부했던 독학 자료들/Java 연습문제 (백준)

[백준/자바] 1110번: 더하기 사이클 (알고리즘을 정확하게 이해하기!!)

Seojoo21 2022. 1. 28. 12:37

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);

}

 

}