문제풀이/String

[JAVA] 백준 1436번 영화감독 숌 : 문자열 찾기

IT록흐 2021. 7. 31. 15:36
반응형
 

1436번: 영화감독 숌

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

www.acmicpc.net

 

1. 문제 추상화

 

"666"이 들어간 수를 작은 순서대로 시리즈 넘버로 한다. N번째 시리즈의 번호를 구하라. 

 

2. 알고리즘

 

API를 이용하면 굉장히 쉽게 풀 수 있는 문제다. String 객체의 contains() 메소드를 이용하여, 작은 수부터 666이 들어간 모든 경우의 수를 조사하면 된다. [ 브루트 포스 ]

 

그러나 나는 규칙성을 찾는 도중 재귀함수 냄새를 맡았고 재귀함수로 풀려다가 실패했다. contains() 메소드를 알고 있었지만 기억하지 못했다. 문제풀이는 가장 단순하고 쉽게 풀수 있어야 하니 API를 잊지 말아야 겠다.

 

3. 코드 

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int count = 0;
		int value = 665;
		
		while(count < n) {
			value++;
			if(String.valueOf(value).contains("666")) {
				count++;
			}
		}
		System.out.println(value);
	}
}
반응형