[프로그래머스][파이썬] 옷가게 할인 받기 - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 1일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120818

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(price):
    discount = 0
    if price >= 500000:
        discount = 20
    elif price >= 300000:
        discount = 10
    elif price >= 100000:
        discount = 5
    else:
        return price
    
    answer = price - (price * discount // 100)
    return answer
  • 문제에서 시키는대로 직관적으로 풀었다.
  • 간단하지만 핵심은 높은 가격 조건부터 분기시킨 부분이다.
  • 낮은 가격 조건부터 분기하면 높은 가격들이 포함되어서 다른 조건들을 더 추가해야 한다.

◽ 다른 사람 풀이

def solution(price):
    if price >= 500000:
        answer = price * .80
    elif price >= 300000:
        answer = price * .90
    elif price >= 100000:
        answer = price * .95
    else:
        answer = price
    return int(answer)
  • 역시 똑같은 방식으로 분기시킨 풀이다.
  • 하지만 내 풀이와 다른 점은 할인된 가격을 마지막에 계산하지 않고 그때그때 0.8처럼 계산해주었다.
  • 변수 저장 공간과 연산 횟수가 조금 더 효율적인 코드라고 생각된다.
  • 정수부가 0인 실수는 .95와 같이 표현할 수 있음을 다시 한 번 확인하자.

◽ 더 나아가기

  • 실수를 다루었으므로 마지막에 int() 형 변환하는 점, 문제 조건을 보고 실제 테스트에서는 한 번 더 확인하자.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글