본문 바로가기

백준 문제풀기/JAVA

[백준 1110 JAVA 자바] 더하기 사이클

26 -> 2+6 = 8

68 -> 6+8 = 14

84 -> 8+4 = 12

42 -> 4+2 = 6

26

더하기 사이클입니다

이 사이클의 길이를 구하는 문제입니다

 

1. 숫자를 일의 자리 숫자와 십의 자리 숫자로 분리해 저장합니다

2. 두 숫자를 더한 후 일의 자리 숫자만 추출합니다

3. (1번의 일의 자리 숫자 * 10) + (2번의 일의 자리 숫자) = 새로운 수

4. count += 1; 하며 if(처음 수 == 새로운수)일때 까지 반복합니다

 

코드입니다

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner scan= new Scanner(System.in);
	
		int n = scan.nextInt();
		int newn = n;
		
		int count = 1;
		
		while (true) {
			int a = newn/10;
			int b = newn%10;
			
			int m = (a+b)%10;
			newn = 10*b + m;
			
			if(newn == n) {
				break;
			}else {
				count += 1;
			}
		}
		
		System.out.println(count);
    }
}

 

while (true)는 무한 반복을 해주는 친구입니다

꼭 if를 통해 break를 넣어줍시다