[백준] 책 정리 (1434)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 박스의 개수 N, 책의 개수 M이 주어진다. 둘째 줄에는 박스의 용량 A1, A2, …, AN이 주어지고, 셋째 줄에는 B1, B2, …, BM이 주어진다.
» 출력
첫째 줄에 전체 박스의 낭비된 용량의 합을 출력한다.
제한 사항
1 ≤ N, M ≤ 50 1 ≤ Ai, Bj ≤ 1,000 문제에 주어진 방법으로 모든 책을 박스에 넣을 수 있는 경우만 입력으로 주어진다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
3 3 5 5 5 5 5 5 |
0 |
3 3 5 6 7 5 5 5 |
3 |
3 1 2 3 5 3 |
7 |
4 5 3 4 5 6 3 3 3 3 3 |
3 |
문제 풀이1
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
val nm = readLine()
val box = readLine().split(" ").map { it.toInt() }.toMutableList()
val book = readLine().split(" ").map { it.toInt() }
for (i in book.indices) for (j in box.indices) {
if (box[j] >= book[i]) {
box[j] -= book[i]
break
}
}
println(box.sum())
}
문제 풀이2
import java.util.Scanner
fun main(args: Array<String>) = with(Scanner(System.`in`)) {
val N = nextInt()
val M = nextInt()
val box = MutableList(N) { nextInt() }
val book = IntArray(M) { nextInt() }
for (i in book.indices) for (j in box.indices) {
if (box[j] >= book[i]) {
box[j] -= book[i]
break
}
}
println(box.sum())
}