백준 Baekjoon 1436 영화감독 숌 풀이
사용언어
Visual studio 2019 C++
문제 간단요약
종말의 숫자 666이 연속으로 나오면 된다 !
생각하기
6이 연속으로 3개 이상나오면 다음 숫자는 볼 필요도 없이 종말의 숫자!!!
[1436 풀이]
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int N;
int main() {
cin >> N;
int n = 666; // 666 전의 숫자는 연속으로 6이 3개가 안나오므로 !
int cnt = 0;
while (1) {
string s = to_string(n);
int six = 0; // 6의 개수
for (int i = 0; i < s.length(); i++) {
if (s[i] == '6')
six++;
else // 6이 아니면 연속이 안되기 때문에 처음부터 다시 시작
six = 0;
if (six >= 3) { // 6이 3개이상이면 볼 필요도 없이 종말의 숫자!
cnt++;
break;
}
}
if (cnt == N)
break;
n++;
}
cout << n << "\n";
}
이 문제는 한달전도 전에도 도전했었는데 그 때는 못풀었는데 지금 다시 풀어보니 너무너무 쉬운 문제였다..
실력이 늘기는 하고 있는건가…???ㅎㅎㅎ
Comments