프로그래머스 위클리 챌린지 1주차에 있는 부족한 금액 계산하기 문제입니다.
입출력 설명상에서
이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은
30 (= 3+6+9+12) 이 되어 10만큼 부족하므로 10을 return 합니다.
다음과 같은 예시를 보여주고있기때문에 카운트만큼 반복하는 수를 만들고 반복할때마다 price 값과 곱하여 그 값은 누적합니다.
누적한 금액과 필요한 금액을 빼서 최종 금액을 양수를 위해서 -1을 곱해줘서 리턴 합니다.
func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
let array = Array(1...count)
let worldPrice = array.map {
price * $0
}.reduce(0, {$1 + $0})
let result = money - worldPrice
if result > 0 {
return 0
}
return Int64(result * -1)
}
https://programmers.co.kr/learn/courses/30/lessons/82612
'Algorithm' 카테고리의 다른 글
Algorithm(Swift) - 숫자 문자열과 영단어 (0) | 2021.09.22 |
---|---|
Algorithm(Swift) - 신규 아이디 추천 (0) | 2021.09.21 |
Algorithm(Swift) - H-Index (0) | 2021.08.28 |
Algorithm(Swift) - 가장 큰 수 (0) | 2021.08.27 |
Algorithm(Swift) - 모의고사 (0) | 2021.08.27 |