반응형
문제 주소
알고리즘
브루트 포스
힌트
7번째 짜리에서 6이 연속으로 3번 이상 나오는 경우가 10000번이 넘는다. (9*9*9*9*5
)
문제 풀이
n
의 범위가 10000
이하이기 때문에 1부터 1
씩 증가 시키면서 n
번째의 수를 찾아도 제한 시간안에 풀 수 있다. count6
함수는 6
이 연속된 개수를 확인하는 함수이다.
#include<iostream>
using namespace std;
int count6(int i){
int cnt=0,flag=0;
while(i>1){
if(i%10==6){
if(!flag)
flag=1;
cnt++;
}
else if(flag){
if(cnt>=3)
return cnt;
flag=0;
cnt=0;
}
i/=10;
}
return cnt;
}
int main(){
int n,cnt=0,i=0;
cin>>n;
while(1){
i++;
if(count6(i)>=3)
cnt++;
if(cnt==n)
break;
}
cout<<i;
}
반응형
'Problem Solve > Brute Force' 카테고리의 다른 글
[백준] 1018번 체스판 다시 칠하기 (C) (0) | 2020.03.27 |
---|---|
[백준] 7568번 덩치 (C) (0) | 2020.03.22 |
[백준] 2231번 분해합 (C) (0) | 2020.03.22 |
[백준] 2798번 블랙잭 (C) (0) | 2020.03.08 |