문제 내용은 입력받은 순서의 값을 구하되 666이 반드시 들어있어야 하는데, 666, 1666, 2666.. 까진 그러려니 하다 187에서 66666 나오면 이건 뭔.. 이런 느낌이 드는데, 문제를 이해하냐 하지 못하냐가 맞추느냐 마냐를 결정하기 때문에 문제를 이해하는 데 모든 시간을 부어줘야 한다
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 target = Integer.parseInt(br.readLine());
int count = 0;
int start = 665;
while (true) {
start++;
if (String.valueOf(start).contains("666")) {
count++;
if (count == target) {
System.out.println(start);
break;
}
}
}
}
}
문제를 풀어보자면 666이 들어가게 증가시키는게 어떻게 하는 건지 막막할 수 있는데, 단순하게 접근해보면 666, 1666, 2666 이런 식으로 증가하게 되니, 666부터 1씩 증가시키면서 666이 들어있을 때만 횟수를 세준 후, 입력으로 지정한 횟수에 도달하면 반복문을 중단시킨 후 해당 값을 출력해주면 끝이다
Leave a Reply