💡문제
https://www.acmicpc.net/problem/5597
💡정답
import java.util.Scanner;
public class no5597 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean stuChk[] = new boolean[31]; //학생 30명의 출석명부를 만든다.
//과제를 제출한 28명의 번호를 true로 설정한다.
for(int i=0; i<28; i++) {
stuChk[sc.nextInt()] = true;
}
//과제를 제출하지 않은 인원의 번호를 false로 설정하고 번호를 출력한다.
for(int i=1; i<=30; i++) {
if(!stuChk[i])
System.out.println(i);
}
}
}
-학생 출석 명부를 만들기 위해 stuChk[]를 생성한다. 배열이기 때문에 출석을 0부터 안세고 1부터 세니 배열의 크기는 31의 크기가 필요하다.
-과제를 제출한 학생과 제출하지 않은 학생을 구별하기 위해 boolean타입을 사용한다(제출했으면 true, 제출하지 않았으면 false)
-for문을 돌려(i=0~ i=27) 28개의 값을 true로 설정한다. 과제를 제출한 학생들을 표시하기 위한 작업이다.
-for문을 돌려 배열 stuChk의 값을 모두 확인한 후 false의 값이 나오면(과제 미제출) 해당 자리의 값 i를 출력한다.
'java > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘 / 1차원배열] 2562번 : 최댓값 - JAVA (0) | 2023.04.13 |
---|---|
[백준 알고리즘 / 1차원배열] 3052번 : 나머지 - JAVA (0) | 2023.03.28 |
[백준알고리즘/배열] 10807번 : 개수 세기 - JAVA (0) | 2023.03.21 |
[백준알고리즘/조건문] 2525번 : 오븐시계 - JAVA (0) | 2023.03.16 |
[백준 알고리즘/조건문] 2884번. 알람시계 (0) | 2023.03.15 |