https://www.acmicpc.net/problem/2841
2841번: 외계인의 기타 연주
첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수
www.acmicpc.net
풀이
문제를 보았을때 알수있는 힌트
1~6번까지 리스트를 만들고 스택을 이용해서 이전에 누른것 보다 크거나 작거나 확인하면서 append, pop 형식으로 문제를 풀면 된다.
예시:
2번 줄에 8을 누른다. 1
2번 줄에 10을 누른다 2
2번 줄에 12를 누른다. 3
2번 줄에 10을 누르기위해 12를 뗀다. 4
2번 줄에 5번을 누르기 위해 10을 뗀다. 5
2번 줄에 8번을 뗀다. 6
2번 줄에 5번을 누른다. 7
총 7번을 움직인다.
import sys
input = sys.stdin.readline
n,p= map(int,input().split())
n_list = [[0] for _ in range(7)]
count=0
for i in range(n):
x,y= map(int,input().split())
while n_list[x][-1]>y:
count+=1
del n_list[x][-1]
if n_list[x][-1]<y:
count+=1
n_list[x].append(y)
print(count)
'Coding Test > baekjoon' 카테고리의 다른 글
[백준 9019] DSLR - python (solved.ac - 골드 5) (0) | 2022.04.19 |
---|---|
[백준 12904] A와 B - python (solved.ac - 골드 5) (0) | 2022.04.18 |
[백준 2110] 공유기 설치 - python (solved.ac - 골드 5) (0) | 2022.04.17 |
[백준 5014] 스타트링크 - python (solved.ac - 골드 5) (0) | 2022.04.15 |
[백준 1759] 암호 만들기 - python (solved.ac - 골드 5) (0) | 2022.04.14 |