반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 부족한 금액 계산하기 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/82612
풀이
이번 문제는 reduce로 풀어봤고 통과했습니다.
하지만 다른 사람의 수식을 이용한 답을 보고 또 한 번 멍청하다고 느꼈습니다.
복잡한 수식도 아니었는데 생각조차 못했기 때문입니다.
1번이 수식을 이용한 풀이, 2번이 reduce를 이용한 풀이입니다.
당연한 말이지만 수식을 이용한 풀이가 속도에서 압도하는 결과를 보였습니다.
여러 가지로 생각하는 힘을 기릅시다 ㅠㅠㅠ
전체 코드
import Foundation
func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
var answer:Int64 = -1
answer = Int64((price * (count * (count+1)/2)) - money)
// answer = Int64((1...count).map { price * $0 }.reduce(0, +)) - Int64(money)
return answer >= 0 ? answer : 0
}
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형