문제
n이 입력으로 주어졌을 때, 1*n, 2*n, 3*n, ... , i*n으로 증가시켜가며 각 숫자의 자리수가 숫자를 체크하며,
0~9까지의 모든 수가 나왔을 때, i를 구하는 문제
풀이방법
10 크기의 배열을 선언하고 각 n의 배수의 자리수를 체크한다.
예를 들어, n = 1234 일때,
i = 1이면, i*n은 1234이므로, 체크된 수는 1, 2, 3, 4
i = 2이면, i*n은 2468이므로, 이전에 체크된 수와 함께 체크된 수는 1, 2, 3, 4, 6, 8
소스코드
package samsung;
import java.util.*;
public class s_1288 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
int n = sc.nextInt();
int cnt = 1;
int[] a = new int[10];
while(true) {
boolean flag = false;
for(int j = 0; j < 10; j++) {
if(a[j] == 0) {
flag = true;
break;
}
}
if(flag == false) {
System.out.println((cnt-1)*n);
break;
}
String s = String.valueOf(n*cnt);
for(int j = 0; j < s.length(); j++) {
int tmp = s.charAt(j) - '0';
a[tmp] = 1;
}
cnt++;
}
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 1229. 암호문2 (0) | 2020.02.09 |
---|---|
[SWEA] 1940. 가랏! RC카! (0) | 2020.02.05 |
[SWEA] 1284. 수도 요금 경쟁 (0) | 2020.02.05 |
[SWEA] 1228. 암호문1 (0) | 2020.02.05 |
[SWEA] 1225. 암호생성기 (0) | 2020.02.05 |
댓글