본문 바로가기
[ 다먹살 ]/- Coding

[백준] 1110 더하기사이클

by 엉망으로살기 2021. 9. 14.
반응형

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

댓글