[문제]
https://www.acmicpc.net/problem/13300
[코드]
import java.io.*
import java.lang.StringBuilder
import java.util.*
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val st1 = StringTokenizer(br.readLine())
val n = st1.nextToken().toInt()
val lim = st1.nextToken().toInt()
val arr = Array(12) {0}
var result = 0
for(i in 0 until n){
val st2 = StringTokenizer(br.readLine())
val a = st2.nextToken().toInt()
val b = st2.nextToken().toInt()
when (b) {
1 -> {
when (a) {
0 -> arr[0] += 1
1 -> arr[1] += 1
}
}
2 -> {
when (a) {
0 -> arr[2] += 1
1 -> arr[3] += 1
}
}
3 -> {
when (a) {
0 -> arr[4] += 1
1 -> arr[5] += 1
}
}
4 -> {
when (a) {
0 -> arr[6] += 1
1 -> arr[7] += 1
}
}
5 -> {
when (a) {
0 -> arr[8] += 1
1 -> arr[9] += 1
}
}
6 -> {
when (a) {
0 -> arr[10] += 1
1 -> arr[11] += 1
}
}
}
}
for(a in arr){
result += if(a%lim > 0 )
(1+a/lim)
else a/lim
}
println(result)
}
[풀이]
입력값을 통해 학년과 성별을 나눠서 배열에 저장하는 방법으로 구했다.
최소 크기가 12인 배열에 학년과 성별일 같은 학생을 누적하여 더하고
한 방에 들어갈 수 있는 최대 인원 수로 나눈후 나머지가 있으면 몫에 1을 더하고
없으면 몫만 이용하여 총 필요한 방의 갯수를 구한다.
Github : https://github.com/eshc123/2021AlgorithmStudy/blob/main/src/main/PS/baekjoon/13300.kt
'Algorithm and PS > 백준(Kotlin)' 카테고리의 다른 글
백준 - 1919 애너그램 만들기 (코틀린) (0) | 2021.05.22 |
---|---|
백준 - 1475 방 번호 (코틀린) (0) | 2021.05.19 |
백준 - 11328 Strfry (코틀린) (0) | 2021.05.15 |
백준 - 2577 숫자의 개수 (코틀린) (0) | 2021.05.11 |
백준 - 2309 일곱 난쟁이 (코틀린) (0) | 2021.05.10 |
댓글