아요 개발 일기

[프로그래머스] Level 1. 부족한 금액 계산하기 본문

Algorithms/문제 풀이

[프로그래머스] Level 1. 부족한 금액 계산하기

소진이 2023. 1. 17. 10:28

문제

 

풀이

저는 for-in 문을 사용했어요!

for-in 문으로 1부터 count 만큼 돌리고 price와 i 를 곱한 값을 result 변수에 더해줍니다.

그 후에 money가 result 값보다 크면 0을 return하고, 아니면 result - money 값을 return 해 줍니다.

 

func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
    let totalPrice = price * (count * (count+1)/2)

    if money >= totalPrice {
        return 0
    }

    return Int64(totalPrice - money)
}

이번에도 다른 풀이를 데려왔습니당

이 풀이는 다른 것들은 다 제 풀이랑 비슷해서 아래 부분만 보면 될 것 같아요!

let totalPrice = price * (count * (count+1)/2)

만약, price =3, money = 20, count = 4 라면

3 * (4 * (4 + 1) / 2)

3 * 10 = 30 ,, 이 연산은 어떻게 생각해 낸건지 정말 ... 대단하네요!! 

 

정확성 테스트

내가 푼 풀이
참고 풀이

제 풀이는 for-in 문이 들어가고 다른 풀이는 안 들어가서 코드량도 확 줄고, 가독성도 좋죠?

속도도 빠르고 가볍네요!! ㅎㅎㅎ

 

문제에 대한 피드백은 언제나 환영합니다!☺️