Skip to content

[BOJ] 13164 #24

@HyomK

Description

@HyomK

백준 13154 행복 유치원
[문제유형] 그리디
[해결방법] 정렬
image

  val group  = readLine().split(" ").map{it.toLong()}.toMutableList()
        val gap = LongArray(N-1){0}
        for(i in 0 until group.size-1){
            gap[i]=(group[i+1]-group[i])
        }
        gap.sort()
        var result = 0L

        for(j in 0 until N-Kl){
            result+=gap[j]
        }
        println(result)
  1. 정렬된 키순서에서 앞뒤 차이를 구한다 (gap)
  2. N명을 K개의 묶음으로 만든다는 것은 N-K 개의 연속된 값이 나타난다는 것
    image
    ex) 5개를 3묶음으로 만든다
    그림에서도 연속된 값이 5-3 =2 개가 발생
  3. 앞에서 구한 차를 오름차순 정렬하여 앞에서 N-K개 선택하여 합한 값이 최소 비용이다

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions