본문 바로가기
코딩테스트_백준풀이

영화감독 숌 #1436 c++ 풀이

by wanna_dev 2023. 10. 4.

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

 

1436번: 영화감독 숌

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

www.acmicpc.net

처음 생각한 풀이법 :

다 적어서, 뭔가 규칙을 찾아보려고 노력했던 것 같다.

 

20분정도 쓰다보니까 뭔가 규칙이 보일 것 같았으나, 생각이 바뀌어서 처음부터 그냥 세면 안되나? 시간이 오버되려나 하고 1억 번 정도 종말수를 찾아보자고 생각해서 풀었습니다.

 

#include<iostream>
#include<vector>
#include<string>
#include<map>
using namespace std;

vector<int> End;

bool findEndNum(int i) {
	if (i < 666)return false;
	string sixes  = to_string(i);
	bool check = false;
	
	for (int i = 0; i < sixes.size()-2; i++) {
		if (sixes[i] == '6' && sixes[i+1]=='6' && sixes[i+2]=='6') {
			check = true;
		}
	}
	return check;
}

int main() {
	
	int num; //몇번째 종말수 출력
	cin >> num;
	
	for (int i = 0; i < 100000000; i++) {
		if (findEndNum(i)) {
			End.push_back(i);
		}
	}
	

	cout <<End[num-1]<<endl;
	return 0;

}