문제 링크
문제 풀이
- 나무가 2만큼 성장하는 물뿌리개를 사용한 횟수와 1만큼 성장하는 물뿌리개를 사용한 횟수가 같아야 한다. 즉, 바라는 높이의 총 합이 3(2+1)으로 나누어져야 한다.
- 또한, 각 나무 높이에서 2만큼 성장하는 물뿌리개를 최대 얼만큼 사용할 수 있는지 구해야 한다. 만약 나무 높이가 1 3 1 3 1로 주어졌을 때, 각각 0 1 0 1 0 만큼 사용할 수 있다. 하지만 총 사용해야 하는 물뿌리개 횟수는 9 / 3 = 3으로 이 값보다 작아 해당 높이를 만들 수 없게 된다.
전체 코드
import sys
n = int(sys.stdin.readline())
trees = list(map(int, sys.stdin.readline().split()))
flag = sum(trees) // 3
count = 0
if sum(trees) % 3 == 0:
for tree in trees:
count += tree // 2
if count >= flag:
print("YES")
else:
print("NO")
else:
print("NO")
반응형
'Coding Test > BOJ' 카테고리의 다른 글
[백준/Python] 14891 톱니바퀴 (0) | 2024.04.03 |
---|---|
[백준/Python] 14502 연구소 (0) | 2024.03.28 |
[백준/Python] 2294 동전 2 (0) | 2024.03.20 |
[백준/Python] 15686 치킨 배달 (0) | 2024.03.20 |
[백준/Python] 2230 수 고르기 (0) | 2024.03.15 |