Algorithm/SWEA
SWEA - ์๋ก์ด ๋ถ๋ฉด์ฆ ์น๋ฃ๋ฒ
giraffe_
2023. 2. 5. 15:34
๊ทธ๋ฅ ํ ์๋ ์์ง๋ง ๋นํธ๋ง์คํน์ ํ์ฉํ์ฌ ํ ์๋ ์๋ ๋ฌธ์
package algo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* 1. ์์ธ๊ธฐ : ์ฒซ ๋ฒ์งธ N๋ฒ ์, ๋ ๋ฒ์งธ 2N๋ฒ ์ ... k๋ฒ์งธ kN๋ฒ์
* 2. ํ์ฌ ๋ณธ ์ซ์ : ex) 1295์ -> 1, 2, 9, 5
* 3. 0~9 ๋ชจ๋ ์ซ์๋ฅผ ๋ณด๋ฉด ์ ์ธ๊ธฐ ๋ฉ์ถค
*/
public class swea_์๋ก์ด๋ถ๋ฉด์ฆ์น๋ฃ๋ฒ {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for(int t = 1; t <= T; t++) {
int N = Integer.parseInt(br.readLine()); //์ฒซ๋ฒ์งธ ์ ๋ฒํธ
int visited = 0; //ํ์ฌ๊น์ง ๋ณธ ์ซ์๋ฅผ ๋นํธ๋ก ํํ, 0000000000(2)
int goal = (1 << 10) - 1; //๋ชจ๋ ์ซ์๋ฅผ ๋ณด๊ฒ ๋์์ ๋์ ๊ฐ, 10000000000 - 1 = 111111111(2)
int x = 1;
while(true) {
int sheep = x * N; //x๋ฒ์งธ ์ ๋ฒํธ
char[] chs = String.valueOf(sheep).toCharArray();
for(int i = 0; i < chs.length; i++) {
int num = chs[i] - '0';
visited = visited | (1 << num); //ํด๋น ์ซ์๊ฐ ๋ณด๊ฒ ๋์ด 1๋ก ๋ณ๊ฒฝ
}
if(visited == goal) break; //๋ชจ๋ ์ซ์๊ฐ ๋ฑ์ฅํ๋ฉด ์ข
๋ฃ
x++;
}
sb.append("#" + t + " " + x * N + "\n");
}
System.out.println(sb);
}
}
๊ฒฐ๊ณผ
