개발자일걸요..?

1436번 영화 감독 숌 본문

알고리즘코딩/Baekjoon Online Judge

1436번 영화 감독 숌

Re_A 2021. 2. 1. 21:46
728x90
반응형

문제 링크 : www.acmicpc.net/problem/1436

 

1436번: 영화감독 숌

666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타

www.acmicpc.net

 

이 문제에 따라 시리즈 순서별 영화 제목의 수는 아래와 같다.

666 - 1666 - 2666 - 3666 - 4666 - 5666

6660 - 6661 - 6662 - 6663 -6664 - 6665

6666 - 6667 - 6668 - 6669 - 7666 - 8666

9666 - 10666 - 11666 - 12666 - 13666 -14666

15666 - 16660 - ... 

 

이 시리즈 숫자의 조건은 두가지 이다.

1. 모든 시리즈 수가 666을 포함할 것

2. 이전 시리즈보단 큰 수들 중 가장 작은 수

 

#include <iostream>
#include <string>
using namespace std;

int main() {

	int N = 0;
	cin >> N;

	int now = 665;

	
	int serise = 0;

	while (true) {
		string test = to_string(now);
		if (test.find("666")!=-1) {
			serise++;
		}
		if (serise == N) {
			cout << test << "\n";
			break;
		}
		now++;
	}
	return 0;
}

여기서 find함수는 "666"이라는 문자열이 시작된 위치를 return하는데, 이게 -1이 아닌 모든 경우에 시리즈물의 숫자가 될 수 있기 때문에 시리즈 숫자를 올린다.(가장 작은 시리즈 값에서 시작했으므로 당연히 시리즈 숫자중 가장 작은 수 도출) 그리고 "666"이 아예들어가지 않는 경우는 시리즈물 숫자가 될 수 없으므로 그냥 지나친다.

반응형

'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글

1018번 체스판 다시 칠하기  (0) 2021.02.02
7568번 덩치  (0) 2021.02.01
2231번 분해합  (0) 2021.01.31
2798번 블랙잭  (0) 2021.01.31
11729번 하노이 탑 이동순서  (0) 2021.01.30
Comments