본문 바로가기
알고리즘/구현(백준)

[2023-06-08] 1417 국회의원 선거 (Kotlin)

by joh9911 2023. 6. 8.

 

문제 링크: https://www.acmicpc.net/problem/1417

 

1417번: 국회의원 선거

첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같

www.acmicpc.net

 

10분 걸렸습니다.

 

package sixtyfifth
import java.io.*
fun main(){
    val br = BufferedReader(InputStreamReader(System.`in`))
    val n = br.readLine().toInt()
    
    // 1번 후보
    var first = br.readLine().toInt()
    // 나머지 후보 저장
    val arr = Array(n - 1){0}
    repeat(n - 1){
        arr[it] = br.readLine().toInt()
    }
    // 횟수
    var count = 0
    
    while(true){
    	// 최댓값과, 그 index 구하기
        var idx = 0
        var max = 0
        for (index in arr.indices){
            if (arr[index] > max)
                idx = index
            max = Math.max(arr[index],max)
        }
        // 최대값보다 커지면 break
        if (first > max)
            break
        count ++
        first += 1
        arr[idx] -= 1
    }
    println(count)
}

 

댓글