본문 바로가기

코딩테스트/백준

[백준-자바] 1110번 더하기 사이클 / 2022.02.05

 

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

 

import java.util.Scanner;
public class Main {
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
    	int number = sc.nextInt(); // 숫자 입력
    	int firstNum = number; // 비교를 위해 입력받은 수를 변수에 저장
    	int count = 0; // 사이클 카운트 변수
    	while(true) {  
    		count++; // 사이클 + 1
    		int divide = number / 10; // 10으로 나눈 몫 저장
    		int theRest = number % 10; // 10으로 나눈 나머지 저장
    		int hap = divide + theRest; // 합은 divide + theRest
    		number = (theRest*10) + (hap%10); // 새로운 number
    		if(number == firstNum) // 새로운 number와 처음 입력받은 수 가 같다면
    			break; // 무한루프 탈출
    	}
    	System.out.println(count);
	}
}

 

풀이 :