백준 1049 기타줄 / python

이유참치·2025년 7월 31일

백준

목록 보기
6/248

문제 : 1049

풀이 point

기타줄 브랜드는 서로 섞이어도 상관 없다. 포인트는 가장 패키지 값이 작은 브랜드, 한 개 값이 가장 작은 브랜드를 따로 파악한 후 경우의 수에 따라 값을 계산해야한다.

  1. 모두 패키지
  2. 모두 낱개
  3. 6개 묶음은 패키지 나머지는 낱개

세가지 경우의 수에 맞춰 가격을 구한뒤 가장 적은 가격을 택하면 된다.

코드

#백준 1049 기타줄
N, M = map(int, input().split())

#6개 묶음은 패키지 나머지는 낱개
#모두 패키지
#모두 낱개
#브랜드 섞이기 가능

minPakage = 99999
minOne = 99999
for i in range(M):
    pakage, one = map(int, input().split())
    minPakage = min(minPakage, pakage)
    minOne = min(minOne, one)

pakageN = N//6 if not N%6 else N//6 + 1

print(min(pakageN*minPakage, min(N//6 * minPakage + N%6 * minOne, minOne*N)))

2025-07-20T07:14:14.965Z

profile
임아리 - 대학생

0개의 댓글