https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
해석 및 팁
사이클을 돌리기 위한 함수를 선언해준 후 처음에 입력한 값이 나올때까지 반복합니다. 그리고 반복횟수를 출력해주면 되는 문제입니다.
Java 코드
import java.util.Scanner;
public class Main {
public static int cycle(int num) { //사이클을위한 함수 선언
int sum = num / 10 + num % 10;
num = (num % 10 * 10) + (sum % 10);
return num;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = 1;
int n = sc.nextInt();
int a = n;
while(a != cycle(n)) { //초기값이 나올때까지 반복
n = cycle(n);
count++;
}
System.out.println(count); //반복횟수 출력
}
}
'백준' 카테고리의 다른 글
백준 2869 달팽이는 올라가고 싶다(Java) (0) | 2023.01.13 |
---|---|
백준 4344 평균은 넘겠지(Java) (0) | 2023.01.13 |
백준 15969 행복(Java) (0) | 2023.01.13 |
백준 2711 오타맨 고창영(Java) (0) | 2023.01.13 |
백준 2789 유학금지(Java) (0) | 2023.01.13 |