문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력값을 저장합니다.
- while 무한 반복에서 동일한 값이 나오면 break를 통해 빠져나오도록 설계하였습니다.
- 함수 addCycle을 정의하여 연산을 하도록 하였습니다.
- ((n/10) + (n%10))%10 : 십의 자리와 일의 자리의 숫자 더하기
- (n%10)*10 : 일의 자리 숫자 십의 자리 숫자로 사용하기
- System.out.println()을 사용하여 Cycle 값을 출력하였습니다.
결과 코드
import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
int num = Integer.parseInt(br.readLine()); //입력 값
int temp = num;
int cycle=0; //사이클 값
while(true){
temp = addCycle(temp);
cycle++;
if(temp==num){ //while 연산 후 입력 값과 동일하면 반복 종료
break;
}
}
System.out.println(cycle); //결과 출력
}
public static int addCycle(int n){ //연산 함수
int result;
result = ((n/10) + (n%10))%10 + (n%10)*10;
return result;
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)2562번, 최댓값 (0) | 2021.12.13 |
---|---|
[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)10818번, 최소, 최대 (0) | 2021.12.13 |
[백준] 단계별로 풀어보기(단계:4,while문,JAVA)10951번, A+B - 4 (0) | 2021.12.11 |
[백준] 단계별로 풀어보기(단계:4,while문,JAVA)10952번, A+B - 5 (0) | 2021.12.10 |
[백준] 단계별로 풀어보기(단계:3,for문,JAVA)10871번, X보다 작은 수 (0) | 2021.12.10 |
댓글