SWEA 3809 화섭이의 정수 나열

1 개요[ | ]

SWEA 3809 화섭이의 정수 나열
SW Expert 아카데미
# 문제 풀이

틀:SWEA 난이도 3-4

2 C++[ | ]

3 Java[ | ]

import java.util.*;
public class Solution {
	static int[] nums, seive;
	static int N, result, NONE=999999;
	static void find1() {
		for(int i=0; i<10; i++) {
			if( seive[i] == 0 && i < result ) result = i;
		}
	}
	static void find2() {
		for(int i=0; i<N-1; i++) {
			seive[nums[i]*10+nums[i+1]] = 1;
		}
		for(int i=10; i<100; i++) {
			if( seive[i] == 0 && i < result ) result = i;
		}
	}
	static void find3() {
		for(int i=0; i<N-2; i++) {
			seive[nums[i]*100+nums[i+1]*10+nums[i+2]] = 1;
		}
		for(int i=100; i<1000; i++) {
			if( seive[i] == 0 && i < result ) result = i;
		}
	}
	static void solve() {
		find1();
		if(result != NONE) return;
		find2();
		if(result != NONE) return;
		find3();
	}
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int T = sc.nextInt();
    	for(int tc=1; tc<=T; tc++) {
    		N = sc.nextInt();
    		nums = new int[N];
    		seive = new int[1000];
    		result = NONE;
    		for(int i=0; i<N; i++) {
    			nums[i] = sc.nextInt();
    			seive[nums[i]] = 1;
    		}
    		solve();
    		System.out.format("#%d %d\n", tc, result);
        }
        sc.close();
    }
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}