티스토리 뷰
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
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1874번 스택 수열(JAVA) (0) | 2022.07.09 |
---|---|
[백준] 1654번 랜선 자르기(JAVA) (0) | 2022.07.09 |
[백준] 1259번 팰린드롬수(JAVA) (0) | 2022.07.07 |
[백준] 1181번 단어 정렬(JAVA) (0) | 2022.07.05 |
[백준] 1085번 직사각형에서 탈출(JAVA) (0) | 2022.07.05 |
댓글