알고리즘

[백준, 파이썬, 1392번] 노래 악보

hminor 2024. 1. 8. 11:39

풀이

  • 해당 문제를 처음 보았을 때 무슨 말이야 했는데
  • 단순히 질문하는 시간에 몇 번째 노래가 나오고 있는지 물어보는 문제로
  • 우선 노래 시간을 배열에 추가할 때 입력값 + 누적값 -1을 추가하여 셋팅한 다음
  • 2중 for문으로 입력된 질문 시간에 따라 
  • 질문 시간이 특정 배열의 시간보다 작거나 같다면 출력하는 식으로 해결

 

import sys
input = sys.stdin.readline
n,q = map(int,input().split())

n_li, x = [], 0

for i in range(n):
    z = int(input())
    n_li.append(z + x -1)
    x += z

for _ in range(q):
    Q = int(input())
    for i in range(n):
        if Q > n_li[i]: continue
        else:
            print(i+1)
            break