[BOJ] 백준 1049 기타줄

태환·2024년 2월 11일
0

Coding Test

목록 보기
72/151

📌 [BOJ] 백준 1049 기타줄

📖 문제

📖 예제

📖 풀이

import sys
input = sys.stdin.readline

N, M = map(int, input().split())
set = []
per = []
for _ in range(M):
  a, b = map(int, input().split())
  set.append(a)
  per.append(b)

s = min(set)
p = min(per)

if p * 6 <= s:
  print(p * N)
else:
  if p * (N%6) <= s:
    print(p*(N%6) + s*(N//6))
  else:
    print(s*(N//6) + s)

우선 세트와 낱개에서 가장 싼 제품으로 가져와서 다음 3가지 경우를 따져본다.
1. 낱개를 6개 산 가격와 세트 한개를 산 가격을 비교한다.
전자의 경우가 더 쌀 경우에는 N개 모두 낱개 가격으로 구매한다.
2. 낱개 6개를 산 가격보타 세트가 산 경우 그리고 N을 6으로 나눈 나머지를 낱개의 가격으로 산 가격과 그냥 한 세트를 추가로 구매한 가격을 비교한다.
전자의 경우가 더 쌀 경우에는 N//6개는 세트의 가격으로 나머지는 낱개의 가격으로 구입한다.
3. 조건 2에서 후자의 경우가 더 쌓 경우에는 세트를 N//6 + 1개 구입입한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글