본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 1436/c++] 영화감독 숌

by tokkiC 2022. 7. 28.

원하는 번째일때의 수이니 번째를 cnt 카운트해서 입력한 n 과 같을때까지

내부의 수 ans를 ++ 하고 ans를 temp로 복사하여

temp의 %1000 일때의 값(1000으로 나눴을때의 나머지)가 666이면 cnt를 ++

아닐 경우에도 마지막 자리수에 666이 아니라 중간자리수에 666이 있을 수 있으므로 10으로 나누어

한자리씩 내려당겨준어 그걸 다시 666이 있나 비교하여 있으면 cnt++

없으면 10으로 나누는것을 반복, temp가 나누다가 0이되면 반복 탈출하여 cnt ==n 될때까지

ans 값을 올려주면 되는 문제이다

https://www.acmicpc.net/problem/1436

 

1436번: 영화감독 숌

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

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int main(){
	
	int n;
	int temp;
	int ans = 0;
	int cnt = 0;
	
	cin >> n;
	while (cnt != n)
	{
		ans++;
		temp = ans;
		while (temp != 0)
		{
			if (temp % 1000 == 666)
			{
				cnt++;
				break;
			}
			else
			{
				temp /= 10;
			}
		}
	}
	cout << ans;
		
	return 0;
}

'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글

[백준 1929/c++] 소수 구하기  (0) 2022.07.30
[백준 11399/c++] ATM  (0) 2022.07.29
[백준 5555/c++] 반지  (0) 2022.07.27
[백준 1269/c++] 대칭 차집합  (0) 2022.07.25
[백준 1120/c++] 문자열  (0) 2022.07.24

댓글