N

(Leet Code JS)Arranging Coins 본문

Leet Code 알고리즘

(Leet Code JS)Arranging Coins

naeunchan 2022. 5. 13. 15:32
728x90
반응형

https://leetcode.com/problems/arranging-coins/

 

Arranging Coins - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

계단식으로 코인을 쌓을 때, n 개의 코인이 몇층까지 완벽하게 채워져있는지 확인하는 문제다.

sum과 row 두 변수를 이용해서 풀 수 있다.

 

sum은 한 층마다 놓은 코인의 총 합이다.

row 층마다 코인을 row 개 놓을 수 있으니, while문을 이용해 sum < n이라면

sum += row를 하여 계산을 해준다.

 

while문을 탈출하고 sum과 n이 같다면 모든 층을 코인으로 채울 수 있기 때문에 row를 리턴.

그렇지 않는다면 row - 1층밖에 코인을 채울 수 없기 때문에 row - 1을 리턴하면 된다.

/**
 * @param {number} n
 * @return {number}
 */
var arrangeCoins = function(n) {
    let sum = 1;
    let row = 1;
    
    while(sum < n){
        row++;
        sum += row;
    }
    
    if(sum === n){
        return row;
    }
    
    return row - 1;
};
728x90
반응형