728x90
반응형
BaekJoon 백준 3060 욕심쟁이 돼지 문제는 돼지들은 전 날 자신의 양쪽과 맞은편에 앉았던 돼지가 먹었던 양을 기억하고 있고, 그만큼의 양을 추가하여 식사를 하기를 원한다. 돼지들의 요구를 들어줄 수 없게 되는 날을 구하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 3060 욕심쟁이 돼지 문제 정보
출처
- https://www.acmicpc.net/problem/3060
알고리즘 분류
- 수학
난이도
- 브론즈 1 / Bronze 1
욕심쟁이 돼지 문제 요약
- 돼지는 원형 식탁에 앉아서 식사를 한다. 현수의 돼지들은 기억력이 뛰어나기 때문에 전 날 자신의 양쪽과 맞은편에 앉았던 돼지가 먹었던 양을 기억하고 있다. 또, 욕심도 많기 때문에, 그만큼의 양을 추가하여 식사를 하기를 원한다.
- 마음씩 좋은 농부 박현수는 이런 돼지의 요구를 모두 들어주려고 한다. 매일 현수의 집에 신선한 사료가 N만큼 배달된다. 사료의 유통기한은 하루이기 때문에, 남은 사료는 모두 폐기한다.
- 첫날 돼지들이 먹었던 양이 주어졌을 때, 현수가 6마리의 돼지들의 요구를 들어줄 수 없게 되는 날이 몇 번째 날인지 구하여 출력한다.
- 배달되는 사료의 양 N (1 <=N <=500,000,000), 각 돼지가 먹는 사료의 양은 100 이하의 자연수가 주어진다.
문제 풀이 과정
- 돼지들은 전 날 자신의 양쪽과 맞은편에 앉았던 돼지가 먹었던 양을 추가하여 식사하는데, 6마리 돼지들의 요구를 모두 들어주어 계산해 보면, 전 날 모든 사료의 양 X 4의 양을 오늘 주어야 한다.
- 사료의 양이 오늘 주어야 하는 배급량 보다 많을 동안 반복하여,
- 매일 날짜를 카운트하고 사료량을 4배로 늘린다.
- 사료의 양이 모자라게 되면 그날이 몇 번째 날인지 출력한다.
코드 및 설명
for _ in range(int(input())):
N = int(input())
food = sum(list(map(int, input().split())))
day = 1
while N >= food:
day += 1
food *= 4
print(day)
BaekJoon 백준 3060 욕심쟁이 돼지 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 14563 완전수 (Python / 파이썬) (0) | 2021.08.28 |
---|---|
[BaekJoon] 백준 20001 고무오리 디버깅 (Python / 파이썬) (0) | 2021.08.28 |
[BaekJoon] 백준 3041 N-퍼즐 (Python / 파이썬) (0) | 2021.08.27 |
[BaekJoon] 백준 9047 6174 (Python / 파이썬) (0) | 2021.08.27 |
[BaekJoon] 백준 1296 데이트 (Python / 파이썬) (0) | 2021.08.27 |
댓글