https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
while문 카테고리도 상당히 쉬웠다. 끗. for문 해봐야지.
문제 및 입출력
코드
import java.util.*;
public class Main
{
public static int makeSum(int n)
{
String temp = n + "";
// n이 한 자리일 경우 앞에 0을 붙이기
if(n<10)
{
temp = "0" + n;
}
String result = temp.charAt(1) + "";
// 두 번째 숫자 구하기
int second = Integer.parseInt(temp.charAt(0) + "") + Integer.parseInt(temp.charAt(1) + "");
// 만약 10보다 크면 뒷자리만(두 숫자의 최대 합 : 18)
if(second>=10)
{
second -= 10;
}
result += second + "";
return Integer.parseInt(result);
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = makeSum(n);
int cnt = 1;
// 입력이 0이어도 while문 안타고 바로 cnt 출력(예외처리 가능)
while(n!=sum)
{
sum = makeSum(sum);
cnt++;
}
System.out.println(cnt);
sc.close();
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 11651 좌표 정렬하기2 (0) | 2021.09.15 |
---|---|
[백준] 4344 평균은 넘겠지 (0) | 2021.09.14 |
[백준] 2884 알람시계 (0) | 2021.09.14 |
[백준] 10757 큰 수 A+B (0) | 2021.09.13 |
[백준] 10250 ACM호텔 (0) | 2021.09.13 |
댓글