미소를뿌리는감자의 코딩

[백준 2024/01/16] 1110번 본문

코딩 테스트/백준

[백준 2024/01/16] 1110번

미뿌감 2024. 1. 16. 22:26
728x90

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

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

1. 접근 방법

이번 문제는 식을 잘 구성하면 되었던 문제이다.

rough draft

 이런식으로 구성하여, 다음과 같은 결과를 낼 수 있었다.

while 문으로, 처음과 같은 결과가 나타날 때까지 돌려주었다.

k%10 그리고 k//10 을 통해서, 각 자리수의 값을 구해주었다.

 

만약 일의자리 수인 경우엔, 그냥 무시하고 똑같이 해주었다. 왜나하면, k를 다시 구성하는데, q(십의 자리 수) 가 이용이 안되기 때문이다.

 

2. 코드

import java.util.Scanner;

public class b1110 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        String num = scanner.nextLine();
        int orig_num = Integer.parseInt(num);
        int change_num = orig_num;
        int loop = 0;

        do{
            loop +=1;
            int r = change_num%10;
            int q = change_num/10;
            change_num = (r+q)%10 + 10*r;
        } while(orig_num!=change_num);
        System.out.println(loop);
    }
}
728x90

'코딩 테스트 > 백준' 카테고리의 다른 글

[백준 2024/01/17] 1002번 터렛  (0) 2024.01.17
[백준 2024/01/16] 1011번  (0) 2024.01.16
[백준 2024/01/16] 1929번  (0) 2024.01.16
[백준 2024/01/16] 10250번  (0) 2024.01.16
[백준 2024/01/15] 2869번  (0) 2024.01.15