LeetCode - Remove K Digits (Javascript)
문제 설명
배열의 순서를 변경할 수 없다는 가정 하에, 배열 내에서 어떤
k
개의 숫자를 지웠을 때 가장 작은 수가 도출될 수 있는지 구하는 문제다.
k
개만 지울 수 있고, 배열의 순서는 바꿀 수 없으며, return
값은 k
개의 숫자를 지운 최종 num
이다.
Given string num representing a non-negative integer num
, and an integer k
, return the smallest possible integer after removing k
digits from num
.
Example 1:
1 | Input: num = "1432219", k = 3 |
Example 2:
1 | Input: num = "10200", k = 1 |
Example 3:
1 | Input: num = "10", k = 2 |
Constraints:
1 <= k <= num.length <= 105
num
consists of only digits.num
does not have any leading zeros except for the zero itself.
소스 코드
통과 되기까지 꽤나 험난했다.. ㅜ
특히, 문자열이 굉장히 길 때 이를 Number로 치환하고, 그 이후에 다시 toString()하는 과정에서 계속 오류가 났었다.
자바스크립트에서는 굉장히 큰 수에 대해서는 toString을 할 때 Infinity를 자체적으로 반환해주는 것 같다 ㅜ
1 | function removeKdigits(num, k) { |
LeetCode - Remove K Digits (Javascript)
https://hoonjoo-park.github.io/algorithm/leet/removeKDigits/