본문 바로가기

알고리즘(w.KOTLIN)

[BOJ][5597] 과제 안 내신 분..?

728x90

https://www.acmicpc.net/problem/5597

 

5597번: 과제 안 내신 분..?

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데,

www.acmicpc.net

문제 풀이

1. 문제의 조건에 따라 30명의 학생을 저장할 수 있는 크기 31의 1차원 Int 배열을 선언하고 0으로 초기화 한다.

2. 입력으로 주어진 28개의 값을 1번에서 선언한 배열의 Index 로 저장하고 값은 1로 업데이트 한다.

3. 1번에서 선언한 배열에서 값이 0인 것의 index 값을 출력 한다.

 

코드

import java.io.*

fun main(args: Array<String>) {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val students = Array(31) { 0 }
    repeat(28) {
        val submit = br.readLine().toInt()
        students[submit] = 1
    }
    
    val result = mutableListOf<Int>()
    
    students.forEachIndexed { index, student ->
        if (index > 0 && student == 0) {
            result.add(index)   
        }
    }
    
    println(result[0])
    println(result[1])
}
728x90