접근 방법
비효율적이지만 가장 간단하게 brute force를 사용해서 풀었다.
666부터 시작해서 값을 1씩 증가시키면서 해당 문자열에 "666"이 포함되어 있을 경우 count를 1씩 증가시키고, 결국에 N이 count와 같아지면 해당 수를 출력하면 된다.
문자열의 포함여부를 검사하는 방법은 conatins() 메소드를 사용하는 방법이 있다. contains() 메소드는 해당 문자열 안에 검사하려는 문자열이 포함 되어있는지를 검사하고, 해당 문자열이 담겨있으면 true, 없으면 false를 반환한다.
코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int i = 666;
int count = 0;
while(true){
if(Integer.toString(i).contains("666"))
count++;
if(count == n){
System.out.println(i);
break;
}
i++;
}
}
}
'알고리즘 > Class 2' 카테고리의 다른 글
백준 BOJ 1874번 (0) | 2022.08.16 |
---|---|
백준 BOJ 1654번 (0) | 2022.08.16 |
백준 BOJ 1259번 (0) | 2022.08.15 |
백준 BOJ 1181번 (0) | 2022.08.13 |
백준 BOJ 1085번 (0) | 2022.08.09 |
댓글