풀이
- 먼저 처음 N값을 문자열로 저장(s) 받은 후에 정수형(n)으로도 따로 저장해줬다.
- 0부터 9까지의 숫자를 모두 보았는지 확인하기 위해 check 배열과 count 변수를 사용하였다.
- 문자열을 한칸씩 정수로 변환하여 check배열에 있는지 확인하였고 없으면 count 변수를 증가하고 true값으로 바꿔준다.
- count 변수가 10이 되면 10개의 숫자를 모두 봤다는 의미이므로 break해준다.
- 10개를 모두 보지 못했다면 xN번 숫자를 확인하기 위해 x * n 값을 문자열로 변환하여 s에 저장해준다.
- 10개의 숫자를 모두 봐서 반복문을 빠져나왔다면 그때의 문자열(s)을 출력해준다.
import java.io.*; public class Solution { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for(int tc=1; tc<=T; tc++) { //입력받은 값을 문자열과 정수형으로 각각 저장 String s = br.readLine(); int n = Integer.parseInt(s); //0-9까지의 숫자를 모두 봤는지 확인 boolean check[] = new boolean[10]; int count = 0; int x=1; //입력받은 n에 계속 곱해줄 변수 while(true) { for(int i=0; i<s.length(); i++) { //한글자씩 정수로 변환하여 확인 int tmp = Integer.parseInt(s.substring(i,i+1)); if(check[tmp] == false) { count++; check[tmp] = true; } } //10개를 모두 봤다 if(count == 10) break; x++; s = Integer.toString(n*x); } System.out.println("#"+tc+" "+s); } } }
'SWEA > D2' 카테고리의 다른 글
[SWEA] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (0) | 2019.05.19 |
---|---|
[SWEA] 1284. 수도 요금 경쟁 (0) | 2019.05.19 |
[SWEA] 1928. Base64 Decoder (0) | 2019.05.16 |
[SWEA] 1859. 백만 장자 프로젝트 (1) | 2019.05.16 |
[SWEA] 1940. 가랏! RC카! (0) | 2019.05.14 |