일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 카카오
- 싸피셜
- Java
- html
- 코테
- IT 동향
- 인앱결제
- it 이슈
- 프로그래머스
- 구글
- it 뉴스
- 코딩테스트 연습
- SSAFY 7기
- 우테코
- IT 트렌드
- SSAFYcial
- SSAFY
- 네트워크 관리사 2급 실기
- 백준위
- 신문스크랩
- 코딩테스트
- 백준
- 신문 스크랩
- 싸피
- 리얼클래스
- 네트워크 관리사 2급
- java 객체지향 프로그래밍
- python
- KT
- 네트워크 관리사
Archives
- Today
- Total
개발자일걸요..?
1436번 영화 감독 숌 본문
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