본문 바로가기
알고리즘/백준

백준 1436번 영화감독 숌 자바 java

by 클로드 2021. 4. 10.
반응형

문제

 

풀이

 

연속적으로 666을 포함하는 숫자 중에 작은 숫자가 차례대로 나와야 한다

666 → 1666 → 2666 → 3666 → 4666 → 5666 → 6666 이 아닌 6660 → 6661 → 6662 가 되어야 한다

while문으로 666부터 1씩 더하면서 contains 함수로 666이 포함이 되면 count를 추가하는 방식으로 해결하였다

 

코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int count = 0;
        int num = 666;

        while (count < N) {
            if (String.valueOf(num).contains("666")) {
                count++;
            }
            num += 1;
        }

        System.out.println(num - 1);
    }
}

 

처음 문제를 보곤 N - 1 에다가 666 글자만 붙이면 되는 거 아닌가?라는 생각을 하고 코드 제출했을 때 실패를 해서 왜 실패를 하지?라는 생각에 시간을 많이 소비했다

출처

www.acmicpc.net/problem/1436

반응형

댓글