반응형

https://www.codetree.ai/missions/4/problems/divide-by-1/description

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

코드

import java.util.Scanner;

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

        int n = sc.nextInt();
        int cnt = 0;

        for (int i = 1; ; i++) {
            n /= i;
            cnt++;

            if (n <= 1) {
                System.out.println(cnt);
                break;
            }
        }

        sc.close();
    }
}

 

설명

for (int i = 1; ; i++) {
            n /= i;
            cnt++;

            if (n <= 1) {
                System.out.println(cnt);
                break;
            }
}

- 어디까지 증가해야하는지 나오지 않았으므로 for문의 가운데는 비워놨다.

- 또, 몫을 계속 저장해둬야 하기에 'n /= i'를 통해 루프돌면서 저장하게 해뒀다.

- 그러면서 cnt로 갯수가 쌓이게 해주었다.

- if문으로 n(몫)이 1이하가 되었을때 cnt(횟수)를 출력해주고 break로 루프를 종료시키게 만들었다.

반응형

+ Recent posts