기록하는 공부
[백준 5597] 배열 선언 (3가지 방법) 본문
728x90
반응형
문제
https://www.acmicpc.net/problem/5597
코드 1 - boolean 타입 사용
import java.util.*;
//import java.io.*;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean arr[] = new boolean[30]; //총 학생 수 30명이지만 1부터 반복문을 돌릴거니까 +1
for(int i=1; i<=28; i++) { //숙제 제출한 학생 총 28명
int input = scan.nextInt(); //숙제 제출한 학생 출석번호 입력
arr[input] = true; //해당 학생 배열 인덱스를 True로 설정
}
for(int j=1; j<=30; j++) { //총 학생 30명
if(!arr[j]) { //배열(숙제제출학생)인덱스가 True가 아니면(False)
System.out.println(j); //출력
}
}
scan.close();
}
}
코드 2 - 정수형 배열 사용
import java.util.*;
//import java.io.*;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int arr[] = new int[31]; //총 학생 수 30명이지만 1부터 반복문을 돌릴거니까 +1
for(int i=1; i<=28; i++) { //숙제 제출한 학생 총 28명
arr[scan.nextInt()] ++; //숙제 제출한 학생 출석번호(인덱스) 값 증가
}
for(int j=1; j<=30; j++) { //총 학생 30명
if(arr[j] == 0) { //값이 증가하지 않은 인덱스는 0(숙제 제출안한 학생 번호)
System.out.println(j); //출력
}
}
scan.close();
}
}
코드 3 - bufferedReader와 bufferedWriter 사용
import java.util.*;
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int arr[] = new int[31]; //총 학생 수 30명이지만 1부터 반복문을 돌릴거니까 +1
for(int i=1; i<=28; i++) { //숙제 제출한 학생 총 28명
arr[Integer.parseInt(br.readLine())]++; //숙제 제출한 학생 출석번호(인덱스) 값 증가
}
for(int j=1; j<=30; j++) { //총 학생 30명
if(arr[j] == 0) { //값이 증가하지 않은 인덱스는 0(숙제 제출안한 학생 번호)
System.out.println(j); //출력
}
}
br.close();
}
}
728x90
반응형
'Language > Java' 카테고리의 다른 글
[백준 11654] 아스키 코드(방법 2가지/scanner/system.in) (0) | 2023.04.05 |
---|---|
[백준 15552] 빠른 A+B (빠른 입출력/BufferReader, BufferredWriter 사용) (0) | 2023.03.27 |
[백준 10951] EOF 처리하기 (Scanner 사용) (0) | 2023.03.27 |