본문 바로가기
CodeSignal

depositProfit

by Doromi 2023. 12. 16.
728x90
반응형

특정 금액을 은행 계좌에 예금했을 때, 일정한 성장률로 연간 이자가 발생한다고 가정합니다. 추가 예금을 하지 않는다고 가정할 때, 특정 임계값(threshold)를 초과하는데 얼마나 걸리는지를 찾는 것이 목표입니다.

예를 들어, 초기 예금이 100이고 성장률(rate)이 20%이며, 임계값(threshold)이 170이라면, 다음과 같이 연간 이자가 발생하게 됩니다.

연간 이자: 100 * 20% = 20
첫 해 후 잔액: 100 + 20 = 120
두 해 후 잔액: 120 + 24 (20%의 120) = 144
세 해 후 잔액: 144 + 28.8 (20%의 144) = 172.8
세 해 후에 잔액이 170을 초과하게 되므로, 답은 3입니다. 함수 solution은 이러한 계산을 수행하여 필요한 연 수를 반환합니다.

int solution(int deposit, int rate, int threshold) {
    int count = 0;
    double depo = (double)deposit;
    while(depo < threshold){
        count++;
        depo +=(depo * rate / 100); 
    }
    return count;
}
주어진 코드에서 deposit이 증가할 때마다 부동 소수점 연산이 발생할 수 있습니다. 부동 소수점 연산은 정확한 값이 아닌 근사값을 다루기 때문에 루프가 무한히 반복되는 원인이 될 수 있습니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

stringsRearrangement  (1) 2023.12.17
absoluteValuesSumMinimization  (1) 2023.12.16
alphabeticShift  (0) 2023.12.16
variableName  (0) 2023.12.16
evenDigitsOnly  (0) 2023.12.15