3020. 개똥벌레
3020번: 개똥벌레
개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이
www.acmicpc.net
- 풀이
- 전체를 돌면서 하나씩 +1 해주면되는데 시간이 터질 것 같다? → 누적합
n, h = map(int, input().split())
down = [0] * (h+1) #종유석
up = [0] * (h+1) #석순
for i in range(n):
# 장애물 크기
x = int(input())
if (i % 2 == 0):
down[x] += 1
else:
up[x] += 1
for i in range(h-1, 0, -1):
# 높이가 i+1인건 높이 i에도 영향을주기 때문에
# i+1 갯수를 i 에게도 넣어줌
down[i] += down[i+1]
up[i] += up[i+1]
min_val = n # 최대가 n
cnt = 0
for i in range(1, h+1):
if (up[i] + down[h - i + 1]) < min_val:
min_val = up[i] + down[h - i + 1]
cnt = 1
elif (min_val == up[i] + down[h - i + 1]):
cnt += 1
print(min_val, cnt)'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준] [DP] 1309. 동물원 (0) | 2024.05.12 |
|---|---|
| [백준] [스택] 6198. 옥상 정원 꾸미기 (0) | 2024.04.29 |
| [백준][누적합] 5549. 행성 탐사 (0) | 2024.04.03 |
| [백준][BFS][Union-Find] 11724.연결 요소의 개수 (0) | 2024.03.08 |
| [백준][벨만포드] 1865. 웜홀 (4) | 2024.03.07 |