끄적끄적 코딩
article thumbnail
728x90

브루트 포스 문제입니다.

영화 제목을 666을 포함해서 지을 때 N번째 영화의 숫자는 무엇인지 구하는 문제입니다.

ex)
1. 666
2. 1666
3. 2666
4. 3666
5. 4666
6. 5666
7. 6660
8. 6661
9. 6662
...

숫자를 1씩증가하여 모든 숫자를 차례대로 검사합니다.
수를 string으로 바꿔서 find 함수를 통해 '666'이 포함되어 있는지 확인하고
포함되어 있다면 카운트를 증가해줍니다.

카운트가 n과 같아지면 현재 숫자를 출력합니다.

 

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

int main(int argc, char *argv[])
{
	int n;
	int count = 0;
	int title = 665;
	string s;

	cin >> n;

	while(++title){
		s = to_string(title);

		if (s.find("666") != -1) {
			++count;
		}

		if (count == n) {
			cout << title << endl;
			break;
		}
	}

	return 0;
}

검색 태그