제이슨의 개발이야기
프로그래머스 부족한 금액 계산하기 코틀린 위클리 챌린지 1주차 본문
안녕하세요! 정말 오랜만에 오늘 프로그래머스 에 들어가서 문제를 풀어 볼까 하고 프로그래머스 사이트 에 들어갔는대
새로운 챌린지가 생겼더라구요 ! 위클리 챌린지 라고 매주 새로운 문제를 풀고 좋아요 갯수에 따라 상품이 있는 챌린지 라고 합니다!
저도 참여해볼까 했었는대 챌린지 미션 언어가 자바, 자바 스크립트, 파이썬3 , 씨쁠쁠 이렇게 4개의 언어만 해당된다고 해서 너무 아쉬웠습니다 ㅠㅠ
저는 자바 언어로도 충분히 참여 할 수 있지만 안드로이드 개발자 로 써 앞으로 코틀린으로 만 문제를 풀겠다 라고 저 스스로 약속을 했던 상황이라 그냥 상품은 포기 하고 코틀린으로 문제를 풀어봤습니다!
https://programmers.co.kr/learn/courses/30/lessons/82612
문제 설명
새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 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는 자연수
입출력 예
price | money | count | result |
3 | 20 | 4 | 10 |
이 문제는 level 1 수준의 문제라서 처음에 굉장히 쉽게 풀겠구만 라고 생각했었는대
처음에 코드 작성하고 제출 했을 때 안되는 경우가 생겼습니다 ...
?? 왜 안되는거지 라고 하고 다시 코드를 검토하고 다시 생각해 봤는대 아무리 봐도 제 코드에는 문제가 없었습니다....
그래서 혹시 내가 문제를 잘못 이해했나 란 생각으로 문제를 다시 읽어보니깐 제가 문제를 잘 못 이해하고 있었습니다
제가 처음에 문제를 읽고 이해 했던 것은
price가 횟수에 따라서 증가하다가 어느 순간 내가 가지고 있는 money 보다 클 경우 반복을 중단하고 부족한 money 를 출력 하는 문제라고 생각했지만
그러나 문제가 원하는 정답은
횟수에 따라서 price가 증가하고 count만큼 반복하면서 다 더한 뒤 내가 가지고 있는 money 랑 비교해서 money가 부족하면 부족한 만큼 출력 부족하지 않으면 0을 출력 이였습니다...
제가 작성한 코드
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
var currentMoney =money
var currentPrice = 0.0
for( i in 1..count){
currentPrice += (price * i)
}
if(currentPrice>=money){
return (currentPrice-money).toLong()
}else{
return 0
}
}
}
아마 이 문제는 문제만 잘 이해 한다면 쉽게 풀 수 있는 문제이고 다른 분들 역시 쉽게 풀었을거라고 생각합니다 !!!
그리고 오늘 이 문제를 통해 배운점은... 아무리 쉽다고 문제를 대충 읽지 말자.. 꼼꼼히 읽어보자 .. 라는 교훈을 얻게 된 문제였던거같습니다 ㅎㅎ...
'코딩테스트' 카테고리의 다른 글
프로그래머스 위클리 2주차 문제 상호 평가 Kotlin (0) | 2021.08.14 |
---|---|
프로그래머스 두개 뽑아서 더하기 월간 코드 챌린지 시즌1 (0) | 2021.08.04 |
[코딩테스트] 소수찾기 level 1 Java 프로그래머스 (0) | 2021.06.08 |
[프로그래머스] 다리를 지나는 트럭 level 2 코틀린 (0) | 2021.06.07 |
[코딩테스트] 프로그래머스 프린터 Java level2 (0) | 2021.06.02 |