IT 개발 관련/[Algorithm]

[백준] 1436번: 영화감독 숌

Baileyton 2024. 9. 1. 15:48
728x90

문제

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

영화 제목에 특정한 숫자 패턴이 포함되는지를 찾는 문제입니다.

영화감독 숌은 666이 들어가는 영화를 만들고 싶어합니다. 예를 들어 첫 번째 영화 제목은 666, 두 번째 영화 제목은 1666, 세 번째 영화 제목은 2666... 이런 식으로 진행됩니다.

 

접근 방법

  • 브루트 포스 탐색:
    • 숫자를 하나씩 증가시키며, 666이 포함된 숫자를 찾습니다.
  • 조건 확인:
    • 현재 숫자를 문자열로 변환하여 "666"이 포함되어 있는지 확인합니다.
  • 목표 도달 시 종료:
    • 666이 포함된 숫자를 N번째 찾을 때까지 반복합니다.

 

풀이 과정

  • 입력값 읽기:
    BufferedReader를 통해 정수 N을 입력받습니다.
  • 숫자 탐색:
    • num을 666부터 시작하여 숫자를 하나씩 증가시키면서 "666"이 포함된 숫자를 찾습니다.
    • String.valueOf(num).contains("666")를 사용하여 숫자를 문자열로 변환한 후 "666"이 포함되어 있는지 확인합니다.
  • 출력:
    • count가 N과 같아질 때, 해당 숫자 num을 출력하고 종료합니다.

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        int count = 0;
        int num = 666; // 첫 번째로 666부터 시작

        // N번째 제목에 해당하는 숫자 찾기
        while (true) {
            if (String.valueOf(num).contains("666")) { // 숫자에 "666"이 포함되어 있는지 확인
                count++; // 발견한 영화 제목의 수 증가
            }

            if (count == N) { // N번째 영화 제목을 찾은 경우
                System.out.println(num);
                break;
            }

            num++; // 다음 숫자로 이동
        }
    }
}

메모리:85944kb 시간:264ms

728x90