SSAFY/SWEA

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

믕비 2023. 5. 12. 20:36
반응형

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AWVl3rWKDBYDFAXm&categoryId=AWVl3rWKDBYDFAXm&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=4 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

index가 학생 번호를 의미하는 N+1의 배열을 만들어서 index값을 데이터로 초기화 시켜준 후, 제출한 사람의 번호를 입력하면서 해당 데이터를 0으로 바꿔줬다. 오름차순으로 정렬한 후에 0을 제외한 데이터들을 출력함.

 

내 코드

메모리 : 29928 KB

시간 : 145 ms

코드길이 : 1018 B

 

[내 코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Solution {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine());
		for(int t = 1; t <= T; t++) {
			sb.append('#').append(t).append(' ');
			st = new StringTokenizer(br.readLine());
			int N = Integer.parseInt(st.nextToken());
			int K = Integer.parseInt(st.nextToken());
			
			int[] student = new int[N + 1];
			for(int i = 1; i <= N; i++) {
				student[i] = i;
			}
			
			st = new StringTokenizer(br.readLine());
			for(int i = 0; i < K; i++) {
				student[Integer.parseInt(st.nextToken())] = 0;
			}
			Arrays.sort(student);
			for(int i : student) {
				if(i != 0)
					sb.append(i).append(' ');
			}
			sb.append('\n');
		}
		System.out.print(sb);
	}
}
반응형