문제 설명
한 택배회사에서는 택배를 보낼 때 상자의 가로, 세로, 높이의 합과 상자의 무게에 따라 다른 요금을 책정합니다. 택배 요금은 상자의 크기별 요금과 무게별 요금의 합으로 정해지며, 크기와 무게별 요금 기준은 아래와 같습니다.
상자의 크기에 따라 (상자의 크기 = 가로 + 세로 + 높이)
- 상자의 크기가 80 미만인 경우 : 3500
- 상자의 크기가 80 이상 100 미만인 경우 : 4500
- 상자의 크기가 100 이상 120 미만인 경우 : 6000
- 상자의 크기가 120 이상 160 미만인 경우 : 12000
- 상자의 크기가 160 이상인 경우 : 배송불가
- 가로, 세로, 높이 중 80 이상인 값이 있을 경우 : 배송불가
상자의 무게에 따라
- 상자의 무게가 5 미만인 경우 : 500
- 상자의 무게가 5 이상 10 미만인 경우 : 1000
- 상자의 무게가 10 이상 25 미만인 경우 : 4000
- 상자의 무게가 25 이상인 경우 : 배송 불가
상자의 가로길이를 나타낸 정수 width
, 세로 길이를 나타낸 정수 length
, 높이를 나타낸 정수 height
, 상자의 무게를 나타내는 weight
가 주어질 때, 택배 요금이 얼마인지 return하도록 빈칸을 채워 solution함수를 완성해 주세요. 단, 배송이 불가능한 상자의 경우 -1을 return합니다.
제한사항
- 1 ≤
width
,length
,height
≤ 100 - 1 ≤
weight
≤ 40
입출력 예
width | length | height | weight | result |
---|---|---|---|---|
40 | 30 | 70 | 14 | 16000 |
50 | 60 | 60 | 7 | -1 |
30 | 20 | 90 | 5 | -1 |
10 | 15 | 14 | 25 | -1 |
입출력 예 설명
입출력 예 #1
- 상자의 크기는 40 + 30 + 70 = 140, 무게는 14 이므로 택배 요금은 12000 + 4000 = 16000입니다.
입출력 예 #2
- 상자의 크기가 50 + 60 + 60 = 170으로 160 이상이기 때문에 배송이 불가능합니다.
입출력 예 #3
- 상자의 높이(height)가 80 이상이기 때문에 배송이 불가능합니다.
입출력 예 #4
- 상자의 무게(weight)가 25 이상이므로 배송이 불가능합니다.
빈칸 채우기 문제 안내
- 빈칸 채우기는 이미 완성된 코드 중 빈칸에 알맞은 코드를 입력하는 문제 타입입니다.
- 빈칸을 제외한 기본 코드는 수정할 수 없습니다.
- 빈칸을 채우지 않을 경우, 실행 결과에 에러 메시지가 표시됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def func1(weight):
if weight < 5:
return 500
elif weight < 10:
return 1000
else:
return 4000
def func2(w, l, h, we):
if w >= 80 :
return -1
if >= 160:
return -1
if >= 25:
return -1
return 0
def func3(size):
if size < 80:
return 3500
elif size < 100:
return 4500
elif size < 120:
return 6000
else:
return 12000
def solution(width, length, height, weight):
if func:
return -1
price = func
price += func
return price
실행 결과
실행 중지
실행 결과가 여기에 표시됩니다.