boj)1110

2020. 8. 29. 16:02PS/boj


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        getSum(n, n, 1);
    }

    static void getSum(int num, int n, int ans) {
        int num1, num2, sum, result;

        if (num < 10) {
            num1 = 0;
            num2 = num;
        } else {
            num1 = num / 10;
            num2 = num % 10;
        }

        sum = num1 + num2;
        result = num2*10 + sum%10;

        if (result != n) {
            getSum(result, n, ++ans);
        } else {
            System.out.println(ans);
        }
    }
 }

- 이렇게까지 밖에 생각이 안났다.. while 문 쓰는게 익숙하지 않다..

 

 

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n, first, a, b;
        int result = 0;

        n = Integer.parseInt(br.readLine());
        first = n;

        do {

            if(n < 10) {
                a = 0;
                b = n;
            }else {
                a = n / 10;
                b = n % 10;
            }
            n = b*10 + (a+b)%10;
            result++;

        }while(n != first);

        bw.write(result+"\n");
        bw.flush();
        
    }
}

- 깔끔한 풀이

- 한 번은 무조건 돌아야하니까 do while 문 생각을 했는데도 코드를 못적었다.

 


https://www.acmicpc.net/problem/1110

'PS > boj' 카테고리의 다른 글

boj)2446  (0) 2020.08.29
boj)2523  (0) 2020.08.29
boj)10989  (0) 2020.08.28
boj)1431  (0) 2020.08.28
boj)1181  (0) 2020.08.28