Study/알고리즘

백준 1110번 - 더하기 사이클 JAVA

토기발 2022. 7. 27. 11:22

 

쉬운 문제였는데 6+8 = 14 이후 1을 버리는 부분을 못보고 넘어가서 고전했다; 

입력받는 수는 N, 십의 자릿수와 1의 자릿수를 a,b 사이클을 돌려서 새로 만들어진 수는 newN으로 설정한다.

newN의 초기값은 N이고, (b * 10) + (a + b) % 10 한 값을 새로 저장한 뒤 while문을 N과 같아질 때까지 돌리면 되겠다.

 


 

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		int N = in.nextInt(); 
		int newN = N, cycle = 0, a = 0, b =0; //a = 10의 자리  b=1의 자리
		while(true) {
			a = newN / 10;
			b = newN % 10;
			newN = (b * 10) + (a + b) % 10;	
			cycle++;
			if(newN == N) break;
		}
		System.out.println(cycle);
	}
}