[BAEKJOON] 배열 5597번 - 과제 안 내신 분?

밍챠코·2024년 4월 7일
0

BAEKJOON

목록 보기
37/38

📝[5597]

[Java]

1. Scanner 이용

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[30];
        
        for(int i=0; i < 28; i++){
            int num = sc.nextInt();
            arr[num-1] = 1;
        }
        
        for(int j=0; j < 30; j++){
            if(arr[j] == 0){
                System.out.println(j+1);
            }
        }
        
        sc.close();
    }
}
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        boolean[] arr = new boolean[30];
        
        for(int i=0; i < 28; i++){
            int num = sc.nextInt();
            arr[num-1] = true;
        }
        
        for(int j=0; j < 30; j++){
            if(arr[j] == false){
                System.out.println(j+1);
            }
        }
        
        sc.close();
    }
}

2. BufferedReader/StringBuilder 이용

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[] arr = new int[30];
        
        for(int i=0; i < 28; i++){
            int num = Integer.parseInt(br.readLine());
            arr[num-1] = 1;
        }
        
        StringBuilder sb = new StringBuilder();
        for(int j=0; j < 30; j++){
            if(arr[j] == 0){
                sb.append(j+1).append("\n");
            }
        }
        System.out.print(sb);
        
        br.close();
    }
}

3. BufferedReader/BufferedWriter 이용

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int[] arr = new int[30];
        
        for(int i=0; i < 28; i++){
            int num = Integer.parseInt(br.readLine());
            arr[num-1] = 1;
        }
        
        for(int j=0; j < 30; j++){
            if(arr[j] == 0){
                bw.write((j+1) + "\n");
            }
        }
        bw.flush();
        bw.close();
        br.close();
    }
}

[Javascript]

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number);
let arr = new Array(30).fill(0); //배열을 모두 0으로 초기화

for(let i=0; i < 28; i++){
    arr[input[i] - 1] = 1; //입력받은 번호에 해당하는 배열 요소를 1로 변경
}

for(let j=0; j < 30; j++){
    if(arr[j] === 0){
        console.log(j+1); //값이 0인 배열 요소의 인덱스에 +1하여 출력
    }
}
const N = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number);
let x = []; // 1에서 30까지 없는 숫자 넣기 위한 배열

for(let i=1; i <= 30; i++){
    if(N.includes(i)) continue; // 1~30까지 숫자 있는지 확인(있다면 continue로 다음으로 넘어가지 않고 반복)
    x.push(i); // 없다면 해당 숫자를 배열 x에 push
}

x.sort((a, b) => a - b); // 오름차순으로 정렬
console.log(x.join("\n")); // console.log(`${x[0]}\n${x[1]}`);

[Python]

arr = [i for i in range(1, 31)] # 1~30 => 30명

for _ in range(28) : # 28명이 제출
    num = int(input()) # 출석번호
    arr.remove(num) # 입력받은 출석 번호를 arr배열에서 소거

arr.sort() # 오름차순 정렬

for j in range(len(arr)) :
    print(arr[j])

💡 remove() 함수 → array의 요소를 삭제
Array객체.remove(x)
▪️ x : 삭제하고자 하는 값
❗단, array 안에서 삭제하고자 하는 값이 여러 개가 있다 하더라도 첫 번째 값에 대해서만 삭제함
▪️ remove 함수를 사용하여 모든 값을 삭제할 때는 for문을 이용할 수도 있음

arr = [i for i in range(1, 31)] # 1~30 => 30명

for i in range(28) : # 28명이 제출
    num = int(input()) # 출석번호
    arr.remove(num) # 입력받은 출석 번호를 arr배열에서 소거

print(min(arr))
print(max(arr))

0개의 댓글