파파 파스타 가게는 점심 추천 파스타와 생과일 쥬스 세트 메뉴가 인기가 좋다.
이 세트 메뉴를 주문하면 그 날의 3 종류의 파스타와 2 종류의 생과일 쥬스에서 하나씩 선택한다.
파스타와 생과일 쥬스의 가격 합계에서 10%를 더한 금액이 대금된다.
어느 날의 파스타와 생과일 쥬스의 가격이 주어 졌을 때, 그 날 세트 메뉴의 대금의 최소값을 구하는 프로그램을 작성하라.
입력은 5 행으로 이루어지며, 한 줄에 하나씩 양의 정수가 적혀있다.
1행의 정수는 첫 번째 파스타 가격이다.
2행의 정수는 두 번째 파스타 가격이다.
3행의 정수는 세 번째 파스타 가격이다.
4행의 정수는 첫 번째 생과일 쥬스 가격이다.
5행의 정수는 두 번째 생과일 쥬스의 가격이다.
(모든 파스타와 생과일 쥬스의 가격은 100 원이상 2000원 이하이다.)
그날 세트 메뉴의 최소 대금을 소수 첫째자리까지 출력하시오.
800
700
900
198
330
987.8
p1 = float(input())
p2 = float(input())
p3 = float(input())
j1 = float(input())
j2 = float(input())
#가장 작은 파스타 가격 비교
temp1 = p2 if p1 > p2 else p1
minp = p3 if temp1 > p3 else temp1
#가장 작은 쥬스 가격 비교
minj = j2 if j1 > j2 else j1
resultP = minp+(minp*0.1)
resultJ = minj+(minj*0.1)
print(format(resultP+resultJ,".1f"))
각 행에 순서대로 파스타 1, 2, 3 쥬스 1, 2의 가겨이 들어오므로 각 변수에 가격을 담을 수 있도록 변수에 추가해주었다.
그 후, 파스타중 가장 작은 가격과 쥬스중 가장 작은 가격을 비교하여 각 minp, minj 변수에 담아주고
거기에 10%의 대금을 더한 가격을 구해 출력해 주도록 하였다.
위 문제는 Greedy(탐욕법) 알고리즘 개념에 대해 공부하고 나서 가장 먼저 풀어본 문제였다. 문제 자체는 간단했는데, 문제를 풀면서도 이게 내가 탐욕법을 써서 코딩을 하는지 긴가민가한 느낌이 들었다... 탐욕법 개념에 대해 좀 더 정리해야겠다는 생각이 든다.
p1 = float(input())
p2 = float(input())
p3 = float(input())
j1 = float(input())
j2 = float(input())
#파스타와 쥬스 가격을 배열에 추가
pList = [p1, p2, p3]
jList = [j1, j2]
#오름차순 정렬
pList.sort()
jList.sort()
resultP = pList[0]+(pList[0]*0.1)
resultJ = jList[0]+(jList[0]*0.1)
print(format(resultP+resultJ,".1f"))
# sort()를 통해서 좀더 코드도 깔끔해지고, 단순하게 가장 적은 수를 찾아 금액을 구할 수 있었다.