문제
전체 학생 수, 과제를 제출한 학생 수, 과제를 제출한 학생의 번호가 주어질 때,
과제를 제출하지 않은 학생의 번호를 오름차순으로 출력하는 문제
풀이방법
학생 수 + 1만큼의 배열을 생성하고 0으로 초기화한다.
그런 다음, 과제를 제출한 학생의 번호와 같은 배열인덱스에 1을 대입한다.
최종적으로 과제를 제출하지 않은 학생 번호와 같은 인덱스의 값은 0이 됨으로,
1부터 시작해 배열의 원소 값이 0인 인덱스를 출력한다.
소스코드
package samsung;
import java.util.*;
public class s_5431 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
int s = sc.nextInt();
int[] a = new int[n+1];
for(int i = 0; i < s; i++) {
int tmp = sc.nextInt();
a[tmp] = 1;
}
System.out.print("#" + t + " ");
for(int i = 1; i <= n; i++) {
if(a[i] == 0)
System.out.print(i + " ");
}
System.out.println();
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 5549. 홀수일까 짝수일까 (0) | 2020.02.22 |
---|---|
[SWEA] 5515. 2016년 요일 맞추기 (0) | 2020.02.22 |
[SWEA] 3809. 화섭이의 정수 나열 (0) | 2020.02.22 |
[SWEA] 1873. 상호의 배틀필드 (0) | 2020.02.22 |
[SWEA] 5356. 의석이의 세로로 말해요 (0) | 2020.02.21 |
댓글