less than 1 minute read

사용언어

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";
}

이 문제는 한달전도 전에도 도전했었는데 그 때는 못풀었는데 지금 다시 풀어보니 너무너무 쉬운 문제였다..

실력이 늘기는 하고 있는건가…???ㅎㅎㅎ

Categories:

Updated:

Comments