Programmers/Lv. 1

[Kotlin] Programmers Lv.1 부족한 금액 계산하기

chattymin 2023. 9. 9. 01:12
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

Code


import kotlin.math.*

class Solution {
    fun solution(price: Int, money: Int, count: Int): Long = max((1 .. count).sum() * price.toLong() - money,0)
    /*
    fun solution(price: Int, money: Int, count: Int): Long{
        val bill = (1 .. count).sum() * price.toLong()

        return if (money < bill) bill - money else 0
    }
     */
}

주석 처리된 코드가 내가 처음 작성한 코드다. 

정직하게 1부터 count까지의 값을 더하고 거기에 price의 가격을 곱해 총 금액을 구하고 money와 비교해서 연산했다.

 

근데 생각을 해보니까 if문이 필요가 없었다.

money보다 bill이 클 때 bill - money를 return하고, 더 작다면 0을 return 한다.

 

그럼 0을 return할 때의 값을 보면 bill - money의 값은 0 이하다. 

그렇기 때문에 두 값을 비교하여 더 큰 값을 return 하면 된다.

 

일종의 수학을 통해서 코드를 한층 간결하게 만들 수 있었다.

728x90
반응형