본문 바로가기

algorithm/백준알고리즘

[백준알고리즘] 1436번: 영화감독 숌 -C++

728x90

[백준알고리즘] 1436번: 영화감독 숌 -C++

1436번: 영화감독 숌 (acmicpc.net)

 

1436번: 영화감독 숌

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

www.acmicpc.net

문제를 어떻게 풀어야할까 고민을 많이 했다. 

 

처음에는 666을 기준으로 왼쪽과 오른쪽에 숫자를 넣어서 가능한 수들을 찾아야 하나 했으나, 대소 비교를 해야 한다는 점이 걸렸다. 1만 번째의 종말의 수가 몇인지를 모르니 언제까지 수를 늘릴지도 모르고 좌우로 어디부터 어떻게 넣어야 할지도 애매했다.

 

그래서 1부터 그냥 수를 늘려가면서 666이 들어가는지 확인하는 방향으로 바꿨다. 그러면서 666이 들어간다면 i번째 종말의 숫자가 되는 것으로 생각했다.

 

어떻게 풀지만 고민한다면 푸는건 금방 푸는 것 같다!

#include <iostream>

void solve(void);

int main(void)
{
	solve();
}

bool check(int num)
{
	while (num)
	{
		if (666 == num % 1000) return true;
		num /= 10;
	}
	return false;
}

void solve(void)
{
	int n;
	std::cin >> n;

	int answer = 0;
	int rank = 0;
	while (rank < n)
	{
		answer++;

		if (check(answer))
			rank++;
	}

	std::cout << answer;
}

 

잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다

728x90