코딩테스트 준비/[백준]

[백준] 2841번 외계인의 기타연주 파이썬

bled 2021. 5. 30. 20:02

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

 

2841번: 외계인의 기타 연주

첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수

www.acmicpc.net

[코드]

import sys
N, P = map(int, sys.stdin.readline().split())

lines = [[] for _ in range(6)]
answer = 0
for i in range(N):
    l, p = map(int, sys.stdin.readline().split())

    while lines[l-1]:
        if lines[l-1][-1] > p:
            lines[l-1].pop()
            answer += 1

        elif lines[l-1][-1] < p:
            lines[l-1].append(p)
            answer += 1
        else:
            break
    if not lines[l-1]:
        lines[l-1].append(p)
        answer += 1

print(answer)