본문 바로가기
알고리즘/그리디

[백준][Python] 1049번 기타줄

by 임짠짠 2022. 11. 8.
반응형
 

1049번: 기타줄

첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주

www.acmicpc.net

 

 

코드

n, m = map(int,input().split())
p_list = []
o_list = []
for _ in range(m):
	pack,one = map(int,input().split())
	p_list.append(pack)
	o_list.append(one)
p_min = min(p_list)
o_min = min(o_list)
m_num = min(p_min,o_min*6)
ans = 0

ans += (n // 6) * m_num
ans += min(p_min,o_min*(n%6))
print(ans)

 

설명

가장 싼 패키지 가격가장 싼 낱개 가격 * 6 을  비교하여 더 싼 가격을 n을 6으로 나눈 몫만큼 구매한다.

그러면 이제 사야하는 줄이 6개 미만이 된다.

이때도 다시 가장 싼 패키지 가격가장 싼 낱개 가격 * 남은 줄 을 비교하여 더 싼 것을 ans 값에 더해준다.

반응형

댓글