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를 넣어줍시다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 1157 JAVA 자바] 단어 공부 (1) | 2023.07.29 |
---|---|
[백준 1152 JAVA 자바] 단어의 개수 (0) | 2023.07.29 |
[백준 1094 JAVA 자바] 막대기 (0) | 2023.07.29 |
[백준 1085 JAVA 자바] 직사각형에서 탈출 (0) | 2023.07.29 |
[백준 1037 JAVA 자바] 약수 (0) | 2023.07.29 |