CODING TEST/baekjoon
#5597 - 과제 안 내신 분..?
iamyuunzo
2025. 7. 18. 22:05
📌 문제 정보
- 문제 이름 : #5597번 - 과제 안 내신 분..?
- 문제 링크 : https://www.acmicpc.net/problem/5597
📌 문제 요약
- 핵심 조건: 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성
- 제한: 없음
📌 최종 정답 및 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean[] submitted = new boolean[31];
for (int i = 0; i < 28; i++) {
int n = sc.nextInt();
submitted[n] = true;
}
for (int i = 1; i <= 30; i++) {
if (!submitted[i]) {
System.out.println(i);
}
}
}
}
<-- 풀이 요약 -->
- 나는 이중 for문으로 접근했는데 2중 for문으로 하니까 구현 방법을 모르겠어서 힌트 보고 풀었음.
- 학생 번호가 1~30이므로 인덱스 0은 사용하지 않음. (new boolean[31]) + 제출한 학생 true
- 제출하지 않은 학생의 번호 따로 다음 for문에서 출력
- 2중 for문이 안되는 이유? - 2중은 보통 모든 조합을 확인할 때 사용되기 때문.
- boolean을 쓰는 이유? - 어떤 번호가 있고 없고 판단할 때 true/false 2가지로 판단하기 때문.

- 너무 이해가 안되길래 GPT의 힘을 빌렸음..
📌 새로 배운 문법
- .