[LeetCode] 2259. Remove Digit From Number to Maximize Result

Chobby·2일 전
1

LeetCode

목록 보기
699/710

😎풀이

  1. BigInt형 최솟값 선언
  2. number 순회
    2-1. 현재 문자가 digit와 동일하다면, 현재 문자를 제외한 수를 최댓값과 비교
    2-2. 최댓값을 초과한다면, 갱신
    2-3. number내에 반드시 digit가 존재하므로 별도의 검증 불필요
  3. 탐색된 최대 수의 문자열 반환
function removeDigit(number: string, digit: string): string {
    let maxNum = BigInt(Number.MIN_SAFE_INTEGER)
    let maxNumStr = ''
    for(let i = 0; i < number.length; i++) {
        if(number[i] !== digit) continue
        const curNumStr = number.slice(0, i) + number.slice(i + 1)
        const curNum = BigInt(curNumStr)
        if(maxNum >= curNum) continue
        maxNum = curNum
        maxNumStr = curNumStr
    }
    return maxNumStr
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글