< 문제 간단설명 >
돌의 무게들이 배열로 들어온다. 그 중에서 가장 큰 두개의 돌의 무게를 x와 y라고 한다. 이때 x는 y이하이다.
- 만약 x와 y가 같다면 둘다 없앤다.
- 만약 x와 y가 같지 않다면 x는 없애고 y는 y-x로 대체한다.
- 마지막 하나가 남을 때 까지 반복하여 마지막으로 남은 돌의 무게를 반환한다. 만약 남지 않았다면 0을 반환한다.
/**
* @param {number[]} stones
* @return {number}
*/
var lastStoneWeight = function(stones) {
let [first, second] = [0, 0];
while(stones.length > 1) {
stones.sort((a, b) => a - b);
first = stones.pop();
second = stones.pop();
if(first === second) {
continue;
}
stones.push(Math.abs(first - second));
}
return stones;
}
'PS > LeetCode' 카테고리의 다른 글
LeetCode / Implementation / 202번 / Happy Number / JS (0) | 2023.04.18 |
---|---|
LeetCode / Heap / 692번 / Top K Frequent Words / JS (0) | 2023.04.18 |
LeetCode / Stack / 394번 / Decode String / JS (0) | 2023.04.18 |
LeetCode / Stack / 844번 / Backspace String Compare / JS (0) | 2023.04.18 |