java
백준 1436 영화감독 숲 자바 java
MiaCoder
2024. 1. 16. 15:41
아이디어:
1. 메소드를 사용하여 666이 포함되어 있는 숫자를 찾아내자.
2. 배열을 사용하여 해당되는 값을 모두 저장하자.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// 몇번 째 수를 출력할지 입력받음.
ArrayList<String> list = new ArrayList<>();
// 동적배열 선언
int i = 666;
// 666부터 시작하기 위한 수 i를 선언
while (list.size() < N) {
//무한대로 반복문을 돌릴 수 없으니 for문 보다 while문을 사용한다.
// 동적배열의 길이가 처음 0에서 시작하므로 list.size() < N 조건을 사용
String strI = String.valueOf(i);
//i를 String 타입으로 바꿔 strI에 저장한 후
if (strI.contains("666")) {
//만약 666을 포함하고 잏다면
list.add(strI);
//동적배열에 추가한다.
//666부터 점점 커지므로 배열에는 666을 포함하는 가장 작은 수 부터 순서대로 저장된다.
}
i++;
}
System.out.print(list.get(N - 1));
//배열은 0부터 시작이므로 -1번째 값을 가져온다.
sc.close();
}
}