가끔 생각을 해요 ʕتʔ

📌 99클럽을 통해 풀게 되는 문제들은 따로 노션에 아래와 같이 정리 중이다.
이전에 코테 스터디를 개설했던 적이 있었는데, 이런 식으로 팀원들과 함께 정리했더니 확실히 도움이 되었다.
코테 기록을 통해 현재 내 실력을 전체적으로 판단할 수 있고, 새로 알게 된 지식이나 느낀 점을 꾸준히 확인하는 것이 복습 효과도 있으며 같은 실수를 반복하지 않을 수 있었다.

 

현재 정리한 기록
이전 스터디 당시 기록

 

🍒 프로그래머스 - 부족한 금액 계산하기

문제

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.

놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.

단, 금액이 부족하지 않으면 0을 return 하세요.

 

  • 제한사항
    놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수
    처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수
    놀이기구의 이용 횟수 count : 1 ≤ count ≤ 2,500, count는 자연수
  • 입출력 예 #1
    이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은 30 (= 3+6+9+12) 이 되어 10만큼 부족하므로 10을 return 합니다.

풀이

def solution(price, money, count):
    fee = 0
    for i in range(1, count + 1):
        fee += price * i
    result = money - fee
    if result < 0:
        return -result
    return 0

# 놀이기구를 count번 타게 되면 내는 요금 -> for문으로 count번 반복해서 총 내야할 요금 구하기
# result = money - (총 요금)
# if result > 0: return 0
# else: return result

 

🍒 TIL

 

  • 99클럽에서 클럽장님이 설명해주신 방법과 같이 문제에서 요구하는게 무엇인지 이해를 명확히 한 뒤, 코드를 어떻게 작성할 지 정리하고 나서 코드를 작성했더니 좀 더 잘 정리가 되었다.
  • 그런데 문제의 내용을 잘못 이해한 부분이 있어 오답이 나왔다..!
    # price * count -> 놀이기구를 count번 타게 되면 내는 요금
    이렇게 정리를 했는데, 왜 틀렸는지 여러 번 다시 문제를 읽어보며 이해해봤더니 총 요금 변수를 먼저 만들고, count만큼 반복해서 반복할 때마다 늘어나는 이용요금을 더해주어야 하는 거였다. 문제를 좀 더 꼼꼼히 이해해야겠다.
  • 현재 파이썬 문법이 익숙하지 않아서 비기너 문제부터 풀어보고 있는데, 기록을 보니 생각보다 성공이 많아서 문법에 좀 더 익숙해지면 다음 주 부터는 미들러 문제도 병행해보려고 한다.
  • 앞으로도 꾸준히 노션에 풀었던 문제를 정리하며 성취감도 높이고, 새로 알게 되는 지식들도 숙지하면서 다른 코드를 작성할 때 참고가 될 수 있도록 해야겠다.

공유하기

facebook twitter kakaoTalk kakaostory naver band