풀이방법
사용된 것:
브루트포스
2022.11.22
0부터 9까지의 숫자가 저장된 HashSet을 선언한다.
각 숫자가 등장할 때마다 HashSet에서 그 숫자를 remove()한다.
HashSet이 텅 비는 순간 현재의 k를 출력한다.
형변환의 번거로움을 줄이기 위해 각 숫자는 Character형으로 다루었다.
그리고 곱하기를 하다 보면 숫자가 점점 커지므로, 곱한 값은 반드시 충분히 큰 정수형 데이터로 선언해주어야 한다. (long 등)
코드
Java(2022.11.22)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String input = null;
while((input=br.readLine()) != (null)) {
long n = Long.parseLong(input);
HashSet<Character> hs = new HashSet<Character>();
for(int i=0; i<10; i++) hs.add((char)(i+'0'));
long k = 0;
while(true) {
k++;
String str = Long.toString(k*n);
for(int i=0; i<str.length(); i++) hs.remove(str.charAt(i));
if(hs.isEmpty()) break;
}
System.out.println(k);
}
}
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
#1918 : 후위 표기식 (0) | 2023.01.11 |
---|---|
#10971 : 외판원 순회 2 (0) | 2022.11.29 |
#2246 : 콘도 선정 (0) | 2022.11.17 |
#1063 : 킹 (0) | 2022.11.14 |
#7983 : 내일 할거야 (2) | 2022.11.09 |