반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 부족한 금액 계산하기 문제를 풀었습니다.
목차
Github
GitHub - jeongju9216/SwiftAlgorithm: 스위프트 알고리즘
스위프트 알고리즘. Contribute to jeongju9216/SwiftAlgorithm development by creating an account on GitHub.
github.com
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/82612
코딩테스트 연습 - 부족한 금액 계산하기
새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이
programmers.co.kr
풀이
이번 문제는 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
}
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형