안녕 세상아,

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

백준

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

돈 많은 백수가 되고싶다 2025. 1. 8. 16:51

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

풀이)

'666'만 있으면 종말의 수 이기 때문에 1000으로 나누고 666이 나오면 된다.

만약 바로 666이 나오지 않으면(큰 수일 경우) 10을 나눠준다.

10을 계속 나눠주다가 666보다 작아지면 while문을 break 해준다.

while문을 끝낸 후 i++ 하면서 계속 for문 돌리다가 주어진 n과 cnt가 같으면 i를 출력해준다.

#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	int cnt = 0;

	for (int i = 666;; i++) {
		int tmp = i;
		while (tmp >= 666) {
			if (tmp % 1000 == 666) {
				cnt++;
				break;
			}
			tmp = tmp / 10;
		}
		if (cnt == n) {
			cout << i;
			break;
		}
	}
}

'백준' 카테고리의 다른 글

[백준/c++] 1654 랜선 자르기  (0) 2025.01.18
[백준/c++] 2776 암기왕  (0) 2025.01.13
[백준/c++] 10814 나이순 정렬  (0) 2025.01.06
[백준/c++] 분수 찾기  (0) 2025.01.02
[백준/c++] 좌표 정렬하기  (1) 2025.01.01