개발조각

[파이썬 실습] 중급 문제_더치페이 계산하기 본문

엘리스 AI 트랙🐇/[AI 5기] 연습 문제집_파이썬 실습

[파이썬 실습] 중급 문제_더치페이 계산하기

개발조각 2022. 6. 5. 21:50
728x90
반응형

더치페이 계산하기

A, B, C 세명의 친구는 점심을 함께 먹고 각자 먹은 메뉴에 따라 계산하기로 했습니다.

세명의 친구가 각각 메뉴를 하나씩만 주문했다면 쉽게 계산이 가능했겠지만, B는 2개의 메뉴를 주문하고 C는 3개를 주문했습니다.

거기에 세명이 함께 먹는 사이드메뉴까지 포함되어 있어서 이를 반영해서 각자 지불할 금액을 계산하는 프로그램을 만드려고 합니다.

지시사항을 참고하여 A, B, C 가 각각 지불해야하는 금액을 출력하는 프로그램을 제작하세요.

 

지시사항

1.menu 라는 딕셔너리에 메뉴명을 키로, 메뉴의 가격을 값으로 저장되어 있습니다.

  1. 이들이 주문한 내역은 먹은사람,메뉴이름,수량의 형태로 사용자로부터 입력받습니다. 만약 세명이 다같이 먹은 메뉴라면 K로 표시합니다.
  2. -1을 입력하면 입력을 중단합니다.
  3. 각자 지불할 금액을 계산하여 아래와 같이 출력합니다.
A 8000
B 10000
C 5000

동작 예시

입력

A,라면,1
B,김밥,2
B,떡볶이,1
K,튀김세트,1
A,콜라,1
-1

함께 먹은 튀김세트 1개는 3000원이므로 각각 1000원씩 부담합니다.

출력

A 8000
B 10000
C 1000

주의사항

채점과정에서 사용하는 함께 먹은 금액 k는 3으로 나누어 떨어지니, 3으로 나누어 떨어지는지 여부 체크 안하셔도 됩니다.


정답

menu={
"떡볶이":5000,
"김밥":2000,
"튀김세트":3000,
"순대":4000,
"라면":6000,
"콜라":1000,
"사이다":1000
}

a=0 # A가 먹은 금액
b=0 # B가 먹은 금액
c=0 # C가 먹은 금액

k=0 # 함께 먹은 금액

while True:
    # 좌측의 지시사항 2번, 3번을 구현하세요
    answer = input()
    if answer == '-1': break
    
    arr = answer.split(',')
    
    if arr[0] == 'A': a += menu[arr[1]]*int(arr[2])
    elif arr[0] == 'B': b += menu[arr[1]]*int(arr[2])
    elif arr[0] == 'C': c += menu[arr[1]]*int(arr[2])
    elif arr[0] == 'K': k += menu[arr[1]]*int(arr[2])

# 지시사항 4번
k = k // 3   # 함께 먹은 금액은 세명이 동등하게 나누어 냄

a+=k
b+=k
c+=k

print ('A',a)
print ('B',b)
print ('C',c)
728x90
반응형
Comments