728x90
안녕하세요! 오늘은 백준 1436번 "영화감독 숌" 문제를 풀어보겠습니다.
1436번: 영화감독 숌
666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워
www.acmicpc.net
문제 설명
- 666이 들어가는 수를 종말의 숫자라고 한다.
- 입력으로 N이 주어졌을 때, 숌이 N번째로 찍은 종말의 숫자를 출력하는 프로그램을 작성하시오.
입력
- 숫자 N이 주어진다. (1 ≤ N ≤ 10,000)
출력
- N번째 종말의 숫자를 출력한다.
풀이 방법
N은 10,000보다 작거나 같은 자연수이며, N번째 영화의 제목은 세상의 종말 (N번째로 작은 종말의 수)와 같습니다.
아래는 이 문제를 해결할 수 있는 C언어 코드입니다:
#include <stdio.h>
int main(void){
int N;
scanf("%d", &N);
int count=0; // 종말의 숫자 개수
int num=666; // 현재 숫자 (666부터 시작해도 무관)
while(1){
// num에 666이 포함된다면 count++
int consecutive_6=0;
int cur=num;
while(cur>0){
int digit = cur%10;
if(digit==6)
consecutive_6++;
else
consecutive_6=0; //다시 0으로 초기화
if(consecutive_6==3){
count++;
break;
}
cur = cur/10;
}
// N번째로 작은 종말 숫자였다면 break, 아니라면 계속
if(count==N)
break;
num++;
}
printf("%d
", num);
}
이 코드는 입력으로 받은 N에 해당하는 N번째 영화의 제목에 들어갈 수를 출력합니다. 종말의 수인 666부터 시작하여, 666, 1666, 2666, ... 순서로 수를 증가시키면서 N번째 종말의 수를 찾습니다. 종말의 수인지 확인하기 위해 각 숫자의 자릿수를 검사하고, 6이 연속으로 3개 이상 나타나면 count를 증가시킵니다. N번째 종말의 수를 찾으면 해당 숫자를 출력합니다.
이렇게 간단한 방법으로 문제를 해결할 수 있습니다.
728x90
'백준 문제 풀이 > c언어' 카테고리의 다른 글
백준 1546번 "평균" --- c (0) | 2024.03.26 |
---|---|
백준 1436번 "solved.ac" --- c (0) | 2024.03.25 |
백준 1018번 "체스판 다시 칠하기" -- C (1) | 2024.02.27 |
백준 25083 C언어 문제 풀이 - 새싹 (0) | 2024.01.28 |
백준 10989 C언어 문제 풀이 - 수 정렬하기 3 (0) | 2024.01.28 |