본문 바로가기
Algorithm and PS/백준(Kotlin)

백준 - 13300 방 배정 (코틀린)

by ESHC 2021. 5. 15.

[문제]

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

 

13300번: 방 배정

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어

www.acmicpc.net

[코드]

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

댓글