[Python][백준] 21318번 피아노 체조

신남·2023년 1월 27일

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

공부 날짜 : 2023.01.27
정답 참조 여부 : X

피아노 악보에 번호가 있고 난이도가 주어진다. 오늘 x~y번까지 연주를 할 때 지금 연주하는 곡이 다음 연주하는곡보다 어렵다면 실수를 하는데
실수를 몇번하는지 구하는 문제이다.


몇번곡이 실수하는지 미리 체크를 해둔뒤 누적합으로 해당구간의 실수하는 곡의 합을 구하는 문제이다.

주의 해야할점은 y번째 악보는 항상 실수하지 않으므로 y-1번째 까지 실수하는 곡의 합을 구하면 된다.

소스코드

import sys
input = sys.stdin.readline
##########################################
n = int(input())

# 악보 정보
data = list(map(int, input().split()))

q = int(input())

sum_ = [0 for _ in range(n+1)]
sum_temp = 0
for i in range(n-1):
    if data[i] > data[i+1]:
        sum_temp += 1
    sum_[i+1] = sum_temp

sum_[-1] = sum_temp

for _ in range(q):
    x, y = map(int, input().split())
    print(sum_[y-1] - sum_[x-1])

0개의 댓글