https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워
www.acmicpc.net
이 문제는 종말의 숫자에 해당하는 666이 포함되어 있는지 확인하면 되는 문제이다.
즉, 666이 1번째 종말의 숫자이고, 1666이 2번째 종말의 숫자가 된다.
알고리즘으로는 666부터 1씩 숫자를 증가시켜 숫자안에 666이 포함되어 있는지 확인하고 count를 올리면 된다.
숫자안에 666이 포함되어 있는지 확인하는 방법은 숫자를 문자열로 바꾸고 문자열을 순회하며
플레그 변수를 true로 변환시키고, 최종적으로 모든 플레그 변수가 true인 경우 N번째 종말의 숫자로 저장하면 된다.
#include<iostream>
using namespace std;
int main(){
int N;
cin>>N;
int i = 0, count=666;
while(true){
string number = to_string(count);
bool numberCount1 = false,numberCount2 = false,numberCount3 = false;
for(int k = 0;k<number.size();k++){
if(number[k]=='6'&&!numberCount1){
numberCount1 = true;
k+=1;
}
if(number[k]=='6'&&!numberCount2) {
numberCount2 = true;
k+=1;
}
if(number[k]=='6'&&!numberCount3) {
numberCount3 = true;
}
if(numberCount1&&numberCount2&&numberCount3){
i+=1;
break;
}
numberCount1 = false;
numberCount2 = false;
numberCount3 = false;
}
if(i==N) break;
count++;
}
cout<<count<<'\n';
}
'Baekjoon Review' 카테고리의 다른 글
[Silver 5] 1676번 팩토리얼 0의 개수 (0) | 2023.10.05 |
---|---|
[Silver 2] 1654번 랜선 자르기 (0) | 2023.10.04 |
[Silver 5] 1181번 단어 정렬 (0) | 2023.10.03 |
[Silver 4] 1018번 체스판 다시 칠하기 (0) | 2023.10.03 |
[Bronze 1] 1546번 평균 (2) | 2023.10.02 |