알고리즘/백준(BOJ)

백준 1436 영화감독 숌

오뚜깅 2021. 1. 29. 15:43
반응형

영화감독 숌은 자신의 영화 제목을 666이 들어가는 숫자로 정하기로 하였는데, 문제는 666이 등장하는 N번째 영화제목은 무엇인지 맞추는 것이었다.

 

일단 while(true)문으로 무한 반복으로 접근하긴 했는데, 이렇게 접근해도 될지는 모르겠다..

 

첫 번째 인덱스는 666부터 시작해서, 하나씩 늘려가며 "666"과 일치하는 숫자가 등장하는지 비교하였다.

만약 등장한다면 몇 번째 등장한 것인지 N과 비교하여 맞다면 무한 반복문을 멈추고 나온다.

 

#include <iostream>
#include <vector>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N;
    cin >> N;

    string subject = "666";
    int i = 666;
    int order = 1;
    while(true){
        if(std::to_string(i).find(subject) != string::npos){
            if(order == N)
                break;
            else
                order++;
            
        }
        i++;
    }

    cout << i << endl;

    return 0;
}
반응형