[BOJ] 백준 3020 개똥벌레

태환·2024년 3월 1일
0

Coding Test

목록 보기
94/151

📌 [BOJ] 백준 3020 개똥벌레

📖 문제

📖 예제

📖 풀이

N, H = map(int, input().split())

up = [0] * (H+1)
down = [0] * (H+1)
for i in range(N):
  if i % 2 == 0:
    up[int(input())] += 1
  else:
    down[int(input())] += 1

for i in range(H-1, 0, -1):
  up[i] += up[i+1]
  down[i] += down[i+1]

cnt = 0
for i in range(1, H+1):
  if N > up[i] + down[H-i+1]:
    N = up[i] + down[H-i+1]
    cnt = 1
  elif N == up[i] + down[H-i+1]:
    cnt += 1
print(N, cnt)

누적합을 이용해 해결하는 문제이다.
문제가 어려워 다른 사람의 풀이를 여러 차례 봄으로서 이해할 수 있었다. . .

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글