728x90
SMALL
def yumyum(meals):
even_sum = meals[0] + meals[2] + meals[4]
odd_sum = meals[1] + meals[3] + meals[5]
new_meals = [meals[i] + (odd_sum if i % 2 == 0 else even_sum) for i in range(6)]
return new_meals
for _ in range(int(input())):
n = int(input())
meals = list(map(int, input().split()))
total_sum = sum(meals)
if total_sum > n:
print(1)
continue
day_count = 1
while True:
day_count += 1
meals = yumyum(meals)
total_sum = sum(meals)
if total_sum > n:
print(day_count)
break
왜 이렇게 풀었을까?
- 간단한 구현 문제로, 돼지가 6마리로 고정되어 있었기에 접근하기 쉬웠던 문제였습니다.
- 맞은 편과 양 옆 돼지들의 인덱스가 자신의 인덱스에 따라 고정되어 있어서 이 패턴을 파악하여 관련 함수(yumyum)를 작성했고,
- 매 반복마다 식사량의 총합을 구하여 결과값도 업데이트 시켜주었습니다.
728x90
LIST
'알고리즘 문제 > 랜덤 마라톤 (solved.ac)' 카테고리의 다른 글
🥈 24417번: 알고리즘 수업 - 피보나치 수 2 (2) | 2025.01.31 |
---|---|
🥈 2303번: 숫자 게임 (0) | 2024.11.25 |
🥈 5568번: 카드 놓기 (2) | 2024.09.13 |
🥈 25329번: 학생별 통화 요금 계산 (0) | 2024.08.23 |
🥈 2740번: 행렬 곱셈 (2) | 2024.08.20 |