[코딩테스트 입문]Day05
옷가게 할인 받기
문제 설명
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price
가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 10 ≤
price
≤ 1,000,000price
는 10원 단위로(1의 자리가 0) 주어집니다.
- 소수점 이하를 버린 정수를 return합니다.
입출력 예
price | result |
---|---|
150,000 | 142,500 |
580,000 | 464,000 |
solution
def solution(price):
if price >= 100000:
if price >= 500000:
return int(price * 0.8)
elif price >= 300000:
return int(price * 0.9)
return int(price * 0.95)
else:
return int(price)
def solution(price):
discount_rates = {500000: 0.8, 300000: 0.9, 100000: 0.95, 0: 1}
for discount_price, discount_rate in discount_rates.items():
if price >= discount_price:
return int(price * discount_rate)
아이스 아메리카노
문제 설명
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money
가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 <
money
≤ 1,000,000
입출력 예
money | result |
---|---|
5,500 | [1, 0] |
15,000 | [2, 4000] |
solution
def solution(money):
return [money // 5500, money % 5500]
def solution(money):
return divmod(money, 5500)
배열 뒤집기
문제 설명
정수가 들어 있는 배열 num_list
가 매개변수로 주어집니다. num_list
의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤
num_list
의 길이 ≤ 1,000 - 0 ≤
num_list
의 원소 ≤ 1,000
입출력 예
num_list | result |
---|---|
[1, 2, 3, 4, 5] | [5, 4, 3, 2, 1] |
[1, 1, 1, 1, 1, 2] | [2, 1, 1, 1, 1, 1] |
[1, 0, 1, 1, 1, 3, 5] | [5, 3, 1, 1, 1, 0, 1] |
solution
def solution(num_list):
return [i for i in reversed(num_list)]
def solution(num_list):
return num_list[::-1]
아 맞다!! 슬라이싱을 사용하면 쉽습니다. 기본에 충실하기!
댓글남기기