백준 1436 - 영화감독 숌
Updated:
C++
1436 번 - 영화감독 숌
문제
숌이 만든 N번째 영화의 제목에 들어간 숫자를 출력하는 프로그램을 작성하시오.
접근 방법
- 666이 들어간 가장 최소 값인 666부터 무한대 까지 loop를 돈다.
- “666”이 포함된 숫자를 발견하면, 해당 숫자를 저장하고
idx
를 늘린다. idx
가 처음에 주어진n
과 같아지면 loop를 빠져나간다.
구현
“666”이 포함된 문자열을 찾는 방법은 아래의 string의 find함수를 통하여 찾았다.
if (a.find(b) != string::npos) {
//찾음
}
else{
//못찾음
}
코드
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int n;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
int i = 666, cnt = 0, result = 0;
string temp;
while (cnt != n) {
temp = to_string(i);
if (temp.find("666") != string::npos) {
result = i;
cnt++;
}
i++;
}
cout << result;
return 0;
}
후기 및 개선할 점
후기:
완전 탐색이라는 점을 생각하며 모든 숫자를 탐색해보기로 하여 후딱 만들었는데, 쉽게 풀려서 당황했다.