Algorithm/이코테

1이 될 때 까지

마닐라 2021. 11. 17. 17:21

 

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // N, K를 공백을 기준으로 구분하여 입력 받기
        int n = sc.nextInt();
        int k = sc.nextInt();
        int result = 0;

        while (true) {
            //현재 숫자
            System.out.println("n1 : " + n);
            //현재 숫자 n에 대해 나누어지는 수 찾기
            int target = (n / k) * k;
            System.out.println("target : " + target);
            //연산 횟수 -> 빼야 되는 1이 몇개인지 현재 숫자에서 나누어지는 수를 빼서 더해야함 -> 빼야되는 1의 갯수
            result += (n - target);
            System.out.println("result : " + result);
            //나누기를 수행해야 하는 아까 target에서 구한 숫자(기존 n을 위에서 써야 하므로 지금 변경해줌)
            n = target;
            System.out.println("n2 : " + n);
            // N이 K보다 작을 때 (더 이상 나눌 수 없을 때) 반복문 탈출
            if (n < k) break;
            // K로 나누기
            result += 1;
            n /= k;
            System.out.println();
        }

        // 마지막으로 남은 수에 대하여 1씩 빼기
        result += (n - 1);
        System.out.println(result);
    }

}

 

'Algorithm > 이코테' 카테고리의 다른 글

미로 탈출  (0) 2021.11.22
★음료수 얼려 먹기  (0) 2021.11.22
게임 개발  (0) 2021.11.18
왕실의 나이트  (0) 2021.11.18
상하좌우  (0) 2021.11.18