거대한새 2021. 1. 25. 15:29
반응형

www.acmicpc.net/problem/1436

1. 숫자 -> 문자 변환

2. 문자에서 "666" 포함되는지 검사

  - 포함 (O): cnt 증가. if(cnt == input) 이면 출력 후 종료

 

#include <string>

to_string(): 정수 -> 문자열 변환

.find(): 문자열의 위치 반환. 못 찾을 경우 -1 반환

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
using namespace std;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int input;
    cin >> input;
    int num = 666;
    int cnt = 0;
    string str = "";
    while (true) {
        // 정수 -> 문자열
        str = to_string(num);
        // 문자열에 666 포함?
        if (str.find("666"!= -1) {
            cnt++;
            if (cnt == input)
                break;
        }
        num++;
    }
    cout << num;
}
cs
반응형