programmers | 이중우선순위

아빠늑대·2023년 4월 7일
0

코딩테스트 연습 - 이중우선순위큐


def solution(operations):
    answer = []

    for operation in operations:
        command = operation[0:1]
        number = int(operation[2:])

        if command == 'I':
            answer.append(number)
        elif command == 'D':
            answer.sort()
            if len(answer) == 0:
                continue
            elif number == 1:
                answer.pop(-1)
            elif number == -1:
                answer.pop(0)

    answer.sort()
    if len(answer) > 0:
        return [answer[-1], answer[0]]
    else:
        return [0, 0]

print(solution(["I 16", "I -5643", "D -1", "D 1", "D 1", "I 123", "D -1"]))
print(solution(["I -45", "I 653", "D 1", "I -642", "I 45", "I 97", "D 1", "D -1", "I 333"]))
  • 리스트로 풀어버렸는데... 원래 heapq라는 걸로 풀어야 하나보다 =ㅁ=
profile
두괄식 게으른 완벽주의자

0개의 댓글