숫자 666에 1씩 더해주면서 666이 포함되어 있는지 확인한다.
포함되어 있다면 cnt를 늘려준다.
666이 포함되어 있는지 확인하기 위해서는 to_stirng으로 int형을 string으로 변환하고 find 함수로 "666"이 있는지 없는지 확인하면 된다.
#include <bits/stdc++.h>
using namespace std;
int N;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N;
int num = 666; int cnt = 0;
while(true){
string s = to_string(num);
if(s.find("666") != string::npos) cnt++;
if(cnt == N) break;
num++;
}
cout << num;
return 0;
}
알고리즘을 생각해보기 전에 정확한 출력값을 일단 알아야 뭐라도 되겠다 싶어서 작성한 코드. 이게 생각보다 시간이 조금걸려서 제출했더니 정답.