전공공부
[BOJ_1110] 더하기 사이클 본문
설명
문제를 살펴보면 두자릿 수에서만 행동하는 것을 알 수 있고 이때, 덧셈을 진행한다. 그렇기 때문에 10 기준으로 나누거나 나누기의 남은 수를 써서 두자릿 수를 나눠서 진행했다.
코드
package Math;
import java.util.Scanner;
public class BOJ_1110 {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
if(N < 10){
N*=10;
}
int n = N;
int cnt = 0;
while (true){
int first = n / 10;
int second = n % 10;
int tmp = (first + second) % 10;
n = second*10 + tmp;
cnt++;
if(n == N){
break;
}
}
System.out.println(cnt);
}
}
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
'Study > Problem Solving' 카테고리의 다른 글
[BOJ_5347] LCM (0) | 2023.11.19 |
---|---|
[BOJ_22864] 피로도 (0) | 2023.11.19 |
[BOJ_2745] 진법 변환 (1) | 2023.11.15 |
[BOJ_3151] 합이 0 (1) | 2023.11.14 |
[BOJ_22862] 가장 긴 짝수 연속한 부분 수열 (large) (0) | 2023.11.13 |