목차

지형 편집

ps
링크programmers.co.kr/…
출처프로그래머스
문제 번호12984
문제명지형 편집
레벨Level 4
분류

애드혹, 선택 알고리즘

시간복잡도O(n)
인풋사이즈n<=90000
사용한 언어Python
해결날짜2020/12/19

풀이

코드

"""Solution code for "Programmers 12984. 지형 편집".

- Problem link: https://programmers.co.kr/learn/courses/30/lessons/12984
- Solution link: http://www.teferi.net/ps/problems/programmers/12984
"""

import itertools


def solution(land, P, Q):
    heights = sorted(itertools.chain.from_iterable(land))
    target = heights[Q * len(heights) // (P + Q)]
    return sum((target - h) * (P if target > h else -Q) for h in heights)