티스토리 뷰

728x90

문제

- 종말의 숫자란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수 (666, 1666, 2666, ...)

- 영화감독 숌은 첫 번째 영화의 제목은 세상의 종말 666, 두 번째 영화의 제목은 세상의 종말 1666 이렇게 이름을 지으려고 함

- N번째 영화의 제목은 세상의 종말 (N번째로 작은 종말의 숫자)와 같음

- 숌이 만든 N번째 영화의 제목에 들어간 숫자를 출력하는 프로그램 작성

 

해결방법

첫 번째 종말의 숫자인 666부터 1씩 증가하는 숫자를 문자열로 바꾸어주고 해당 문자열 내에 "666"이 포함되어 있는지를 검사하는 방식으로 코드를 작성하였다. "666"이 포함되어 있으면 시리즈가 하나씩 늘어나는 것이므로 count 변수를 두어 하나씩 증가할 수 있도록 하였고, 해당 count가 입력받은 N이라면 종말의 숫자를 출력할 수 있도록 하였다.

 

코드

import java.io.*;
import java.util.*;

class Main{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int check = Integer.parseInt(br.readLine());
        int count = 0;			// 몇번째 종말의 숫자인지 판단하는 변수
        int i = 666;

        while(count != check){		// 원하는 차례의 종말의 숫자라면 반복문 탈출
            String num = i+"";		// 숫자를 문자열로 변환
            if(num.contains("666")){	// 해당 숫자 내에 "666"이 포함되어있는지 검사
                count++;
            }
            i++;
        }

        System.out.println(i-1);	// 종말의 숫자 출력


        br.close();
    }
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday