포스트

206. 콜라 문제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import Foundation

func solution(_ a:Int, _ b:Int, _ n:Int) -> Int {
    
    var portion : Int = 0
    var mod : Int = 0
    var answer : Int = 0
    var N = n
    
    
    while N >= a {
        portion = (N / a) * b
        mod = N % a
        N = portion + mod       
        answer += portion     
    }

    return answer
}

일단 몫, 나머지를 구분하였다. 무한 반복을 통해 몫과 나머지의 합이 a 미만일때 종료하게 하였다.

몫만 하게 되면 혹시라도 나머지가 남아있는 경우 그합으로 또 바꿀 수 있는 조건이 될 수도 있기 때문이다.

그래서 몫 부분을 계속 더했고 그 결과 값을 리턴하였다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.