728x90
알고리즘 공부를 막 시작했을때 풀었던 문제라 문제를 풀 때 상당히 애를 먹었던 기억이 있습니다..
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int num1 = 0; // 십의자리 숫자
int num2 = 0; // 일의자리 숫자
int cnt = 0; // 사이클
int res = num; //최초 입력숫자 저장하는 변수
int tmp = 0; // 일의자리 + 십의자리
do {
num1 = num / 10;
num2 = num % 10;
tmp = num1 + num2;
if(tmp>=10) {
tmp = tmp % 10;
}
num = (num2 * 10) + tmp;
cnt++;
}while(num != res);
System.out.println(cnt);
}
}
문제를 풀때는 변수도 복잡하고 그랬는데...
그래도 나름대로 리팩토링을 한번 한 문제입니다!!
각 변수에 대한 설명을 해보자면 num1은 십의자리 num2는 일의자리 숫자를 나타내기위해 따로 변수로 선언해주었습니다.
cnt의 경우 count 즉, 사이클을 저장하기위한 변수입니다.
res의 경우는 최초로 입력한 숫자를 저장하기 위한 변수이며 tmp는 바뀐 숫자를 저장하기위한 변수입니다.
이게 지금 풀려고 하면 금방 풀것같은데 당시에 코드를 짜려고 하니 애먹었던 기억이 있습니다...!
728x90
'알고리즘 > 백준(backjoon)' 카테고리의 다른 글
[Baekjoon]백준 NO.2562 최댓값 / Java(자바) (0) | 2021.07.10 |
---|---|
[Baekjoon]백준 NO.10818 최소, 최대 / Java(자바) (0) | 2021.07.09 |
[Baekjoon]백준 NO.10951 A+B-4 / Java(자바) (0) | 2021.06.30 |
[Baekjoon]백준 NO.10952 A+B-5 / Java(자바) (0) | 2021.06.26 |
[Baekjoon]백준 NO.10871 - X보다 작은 수 / Java(자바) (0) | 2021.06.13 |