반응형
백준 - 단계별로 풀어보기 [1436]
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타
www.acmicpc.net
## 문제
숫자에 "666"이 들어가는 순서대로 가장 작은 수인 666부터 시작해서 1666, 2666, 3666, 4666, 5666, 6661, 6662, 6663, ... 커진다고 생각할 때 입력 받은 순서에 맞는 숫자를 찾는 문제다. 예제 입력으로 2, 3, 6 하고 바로 큰 수로 넘어가서 감을 잡는데 힘들었지만, 7은 6661이 되는 것을 알 수 있다.
## 풀이
666부터 숫자를 세면 되므로 665라는 숫자를 지정해주고 이 값을 +1하면서 해당 숫자 내부에 "666"이 포함되어 있으면 정답에 +1을 하는 방식을 생각했었는데, 브루트포스 관련된 문제인 만큼 모든 경우의 수를 들리도록 반복문을 만들어서 문제를 해결해보았다.
## 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
int count = 0;
int title = 665;
string s;
cin >> n;
while (++title)
{
s = to_string(title);
if (s.find("666") != -1)
{
++count;
}
if (count == n)
{
cout << title << endl;
break;
}
}
return 0;
}
## 평가
문제 설명이 조금 부족하여서 입력으로 7이 들어오면 6661이 된다는 걸 생각 못해서 많이 헤맸었다.
브루트 포스 단계에 속해 있기에 적합한 문제이다.
반응형
'Algorithm > Baekjoon BOJ' 카테고리의 다른 글
[백준][파이썬] 1500번 : 최대 곱(코드, 해설, 풀이) (0) | 2022.04.16 |
---|---|
[백준][파이썬] 4796번 : 캠핑(코드, 해설, 풀이) (0) | 2022.04.13 |
[백준][파이썬] 1049번 : 기타줄(코드, 해설, 풀이) (0) | 2022.04.12 |
[백준][파이썬] 1059번 : 좋은 구간(코드, 해설, 풀이) (0) | 2022.04.09 |
[백준][파이썬] 20915번 : 숫자 카드 놀이 (코드, 해설, 풀이) (0) | 2022.04.09 |