import java.util.Scanner;
class Solution
{
public static void main(String args[])
{
boolean[] visited;
Scanner sc = new Scanner(System.in);
int T;
T = sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int N = sc.nextInt();
int K;
int i = 1;
visited = new boolean[10];
while (true){
K = N * i;
count(K, visited);
if (check(visited)) break;
i++;
}
System.out.printf("#%d %d\n", test_case, K);
}
}
public static boolean check(boolean[] visited){
for (int i = 0; i < 10; i++){
if (!visited[i]) return false;
}
return true;
}
public static void count(int N, boolean[] visited){
String str_N = Integer.toString(N);
for (int i = 0; i < str_N.length(); i++){
visited[str_N.charAt(i) - '0'] = true;
}
}
}
1. 어려웠던 점:
- X
2. 알게된 점:
- 복습
3. 알고리즘 풀이:
- visited[10]은 0~9를 보았는지 확인하는 배열이다.
count 함수를 통해, 숫자를 문자열로 변경 후, 각 자리의 숫자를 visited 함수에 체크해준다.
check 함수를 통해, visited의 모든 원소가 true인지 확인 후, true면 while 루프를 종료시킨 후, 답을 출력한다.
'알고리즘 문제풀이 > SWEA' 카테고리의 다른 글
[SWEA 1230] 암호문3 with JAVA (0) | 2021.07.21 |
---|---|
[SWEA 3316] 동아리실 관리하기 with JAVA (0) | 2021.07.19 |
[SWEA 10726] 이진수 표현법 with JAVA (0) | 2021.07.19 |