Swift랑 친해지기/programmers 풀기

[프로그래머스] 부족한 금액 계산하기 (Swift)

데브킹덕 2022. 7. 24. 14:22

https://school.programmers.co.kr/learn/courses/30/lessons/82612

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
    var answer:Int64 = -1
    var sumPrice = 0
    for i in 1...count{
        sumPrice += (price * i)
    }
    answer = Int64(sumPrice > money ? (sumPrice - money) : 0 )
    
    return answer
}

풀이 방법

1. answer 변수가 주어졌기 때문에 활용해야겠다고 생각했음

2. price * count를 count 만큼 반복하여 계속 더한다음 money를 빼야겠다고 생각했음

3. 삼항연산자를 이용해 놀이기구비용이 가지고 있는 돈보다 많으면 부족한만큼 결과값으로 반환, 거짓이면 0반환

 

 

처음에 잘못 접근한 코드

글을 끝까지 읽지 않고 돈이 부족하지 않으면을 생각하지 않고 짰다.

돈이 부족하지 않으면 0을 반환해야됨

import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
//    var answer:Int64 = -1
    var k = money
    for i in 1 ... count {
        k = k - (price * i)
    }
    let result = -(Int64(k))
    return result
}

solution(3, 40, 4)

 

끝까지 문제를 읽자