알고리즘 풀이/SWEA
[SWEA][JAVA] 1288. 새로운 불면증 치료법
by cornsilk-tea
2022. 1. 16.
처음 작성했던 코드
package level_2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.CharacterCodingException;
import java.util.StringTokenizer;
public class SW_1288 {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int T = Integer.parseInt(br.readLine());
for (int test_case = 1; test_case <= T; test_case++) {
int N = Integer.parseInt(br.readLine());
int K = 0;
int[] table = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 };
while (true) {
K++;
String temp = N * K + "";
char[] arr = temp.toCharArray();
for (int a = 0; a < arr.length; a++) {
int tempint = Character.getNumericValue(arr[a]);
table[tempint] = tempint;
}
int sum = 0;
for (int b : table) {
sum += b;
}
if (sum == 45)
break;
}
bw.write("#" + test_case + " " + (K * N) + "\n");
}
bw.flush();
bw.close();
}
}
새로 작성한 코드
package level_2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class SW_1288 {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
for (int test_case = 1; test_case <= T; test_case++) {
int N = Integer.parseInt(br.readLine());
boolean[] table = new boolean[10];
int K = 1;
for (int cnt = 0; cnt <= 9; K++) {
int temp = N * K;
while (temp != 0) {
int val = temp % 10;
if (table[val] != true) {
table[val] = true;
cnt++;
}
temp = temp / 10;
}
}
bw.write("#" + test_case + " " + ((K - 1) * N) + "\n");// for문은 끝날때마다 증감연산을 해줌으로 마지막 한번은 빼눠야한다.
}
bw.flush();
bw.close();
}
}