본문 바로가기
Problem Solving/SWEA

[SWEA] 1288. 새로운 불면증 치료법

by 테리는당근을좋아해 2020. 2. 5.

문제

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

댓글