백준 문제 풀이/c++
백준 1436번 "영화감독 숌" --- c++
고딩프로그래머
2024. 2. 29. 23:43
728x90
안녕하세요! 오늘은 백준 1436번 "영화감독 숌" 문제를 풀어보겠습니다.
1436번: 영화감독 숌
666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워
www.acmicpc.net
문제 설명
- 666이 들어가는 수를 종말의 숫자라고 한다.
- 입력으로 N이 주어졌을 때, 숌이 N번째로 찍은 종말의 숫자를 출력하는 프로그램을 작성하시오.
입력
- 숫자 N이 주어진다. (1 ≤ N ≤ 10,000)
출력
- N번째 종말의 숫자를 출력한다.
풀이 방법
- 666이 들어가는 수를 찾으며 카운트한다.
- 카운트한 숫자가 N과 같아지면 해당 수가 N번째 종말의 숫자이다.
입력으로는 자연수 N이 주어집니다. N은 10,000보다 작거나 같은 자연수입니다.
이 문제를 해결하는 가장 간단한 방법은 N번째로 작은 종말의 수를 찾는 것입니다. 종말의 수는 666이 적어도 3개 이상 연속으로 들어가는 수입니다. 따라서, N을 1부터 시작하여 666이 포함된 수를 찾아가면 됩니다.
아래는 이 문제를 해결할 수 있는 C++ 코드입니다:
#include <iostream>
#include <string>
using namespace std;
int main() {
int N;
cin >> N;
int count = 0;
int num = 666;
while (count < N) {
string str = to_string(num);
if (str.find("666") != string::npos) {
count++;
}
num++;
}
cout << num - 1 << endl;
return 0;
}
이 코드는 N을 1부터 시작하여 666이 포함된 수를 찾아가는 방식으로 문제를 해결합니다. count 변수를 사용하여 N번째 종말의 수를 찾고, num 변수를 증가시켜가며 수를 검사합니다. 만약 num이 666을 포함하고 있다면 count를 증가시킵니다. count가 N과 같아지면 종말의 수를 찾은 것이므로, num - 1을 출력합니다.
이렇게 간단한 방법으로 문제를 해결할 수 있습니다. 다른 사용자들도 이와 비슷한 방법으로 문제를 해결할 수 있을 것입니다.
728x90