Algorithm/SW Expert Academy

[SWEA] 5431 민석이의 과제 체크하기

SSONGMI 2021. 1. 31. 16:35
반응형

1. 테스트 케이스의 수를 입력받는다.

2. 학생수와 과제를 제출한 학생수를 입력받는다.

3. 과제를 제출한 학생들의 번호를 입력받는다.

4. students 배열에 각각의 index에 해당하는 번호를 가진 학생들이 과제를 제출했다면 true로 값을 변경해준다.

5. students 배열을 순회하며 값이 true가 아닌 번호들을 차례로 출력한다.

(이때 배열의 인덱스가 오름차순이기 때문에 따로 정렬하지 않아도 오름차순으로 출력될 수 있다.)

import java.util.Scanner;
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Solution
{
    public static void main(String args[]) throws Exception
    {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(bf.readLine().trim());
        for(int tc = 1; tc <= T; tc++) {
            String str = bf.readLine().trim();
            int N = Integer.parseInt(str.split(" ")[0]);
            int K = Integer.parseInt(str.split(" ")[1]);
             
            boolean[] students = new boolean[N+1];
            String[] tmp = bf.readLine().trim().split(" ");
            for(int i = 0; i < tmp.length; i++) {
                students[Integer.parseInt(tmp[i])] = true;
            }
            System.out.print("#" + tc + " ");
            for(int i = 1; i < students.length; i++)
                if(!students[i])
                    System.out.print(i + " ");
            System.out.println();
        }
    }
}
반응형