https://www.acmicpc.net/problem/5597
5597번: 과제 안 내신 분..?
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데,
www.acmicpc.net
풀이
더보기

배열에 번호대로 쭉 넣어놓은 후에
28명이 제출했다고 했으므로 for문을 돌면서 28번을 반복하며 입력받은 해당 번호를 0으로 교체한다(제출)
입력이 끝난 이후에 전체 배열에서 0이 아닌 값들만 필터링하여 추출하고, 이를 joinToString("\n")으로 String 값으로 변경 후 출력한다.
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
question5597()
}
fun question5597() {
var reader = BufferedReader(InputStreamReader(System.`in`))
var writer = BufferedWriter(OutputStreamWriter(System.out))
var list = IntArray(30) { it + 1 }
for(i in 1 .. 28) {
var number = reader.readLine().toInt()
list[number - 1] = 0
}
writer.write((list.filter { it != 0 }).joinToString("\n"))
writer.flush()
}

반응형
'스터디(beakjoon)' 카테고리의 다른 글
| Kotlin] 백준 10811번 문제 풀이 (0) | 2023.04.26 |
|---|---|
| Kotlin] 백준 3052번 문제 풀이 (0) | 2023.04.25 |
| Kotlin] 백준 10813번 문제 풀이 (0) | 2023.04.24 |
| Kotlin] 백준 2562번 문제 풀이 (0) | 2023.04.21 |
| Kotlin] 백준 10818번 문제 풀이 (0) | 2023.04.20 |