[BOJ] 1436
영화감독 숌
1436번 https://www.acmicpc.net/problem/1436
분류
-
Silver 5
-
브루트포스 알고리즘
해법
각 자리의 숫자를 확인해서 6이 나왔다면 sequence_count 를 1씩 증가시키고,
6이 아닌 숫자가 나왔다면 sequence_count 를 0으로 되돌리면됩니다.
sequence_count 가 3 이상이라면 검사한 숫자는 블록버스터 제목을 위한 숫자입니다.
정답 코드
#include <iostream>
using namespace std;
bool BlockBuster(int n)
{
int seq_cnt = 0;
while (n > 0)
{
if (n % 10 == 6) // if digit is 6
seq_cnt++;
else // not six
seq_cnt = 0; // 6 should be successive
if (seq_cnt >= 3) // three "6" are successive -> "666"! blockbuster!
return true;
n /= 10;
}
return false;
}
int main(void)
{
int n;
int num = 666; // first blockbuster number
int cnt = 0;
cin >> n;
while (1)
{
cnt = (BlockBuster(num)) ? cnt + 1 : cnt;
if (cnt == n)
break;
num++;
}
cout << num;
}
Leave a comment