JAVA/Coding Test

[JAVA] 백준 1436 영화감독 숌_브루트포스

오늘도개발 2023. 2. 28. 13:30

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

 

1436번: 영화감독 숌

666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워

www.acmicpc.net

 

접근 :

 

- 666 부터 요구하는 수 까지 (최대 2666799  : N이 10000인 경우기 때문에 계산해보기 전까지 예상할 수 없음) 666이 포함되는 경우를 순서대로 카운트

 

- 666 이전에는 6을 3개 포함할 수 있는 경우가 없음.

 

- 카운트 수가 입력된 n 이 되면 해당하는 666이 포함된 정수를 반환 

 

- 순서대로 값을 찾아야 하기 때문에 값을 증가 시키면서 해당하는 모든 경우의 수를 구해야함.

 

- ex>  666, 1666, 2666, 3666, 4666, 5666, 6660, 6661, 6662, 6663,  ...  ,  2666798, 2666799

 

코드 구현:

 

import java.io.*;

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());
		int result = 0;
		int count = 0;
		int index = 666;
        
		// N 번째 수 까지만 계산
		while (count < n) {
			if (Integer.toString(index).contains("666")) {
				count++;
				result = index;
			}
			index++;
		}
		System.out.println(result);
		br.close();
	}
}