λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„μ—” 곡뢀/🫧 μ•Œκ³ λ¦¬μ¦˜ 곡뢀

[μ•Œκ³ λ¦¬μ¦˜ || ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 두 수의 ν•© - BigInt 계산

728x90

BigInt λŠ” BigInt λ²”μœ„ λ‚΄μ—μ„œλ§Œ κ³„μ‚°ν•΄μ•Όν•˜λ‚˜ ν—·κ°ˆλ €μ„œ μ²˜μŒμ—” μ΄λ ‡κ²Œ ν’€μ—ˆλ‹€.

function solution(a, b) {
    const bigInt = Number.MAX_SAFE_INTEGER;
    if (a <= bigInt && b <= bigInt) {
        return Number(a) + Number(b) + '';
    } else if (a > bigInt || b > bigInt) {
 return BigInt(a) + BigInt(b)+'';
    }
}

 

근데 bigInt λŠ” 

Number.MAX_SAFE_INTEGER // 9007199254740991

Number 의 κ°€μž₯ 큰 λ²”μœ„λ³΄λ‹€ 큰 수λ₯Ό 계산할 수 μžˆλŠ” κ±°κ³ , κ·Έ μ•„λž˜ λ²”μœ„μΈ 일반 μ •μˆ˜μ˜ λ²”μœ„λ„ 연산이 κ°€λŠ₯ν–ˆλ‹€. 

 

κ·Έλž˜μ„œ μ•„λž˜μ²˜λŸΌ BigInt κ°€ ν•΄λ‹Ήν•˜λŠ”μ§€ μ•„λ‹Œμ§€μ— 상관없이 더해주면 λœλ‹€. 

String 으둜 return ν•΄μ•Όν•˜λ‹ˆ, + '' 을 λΆ™μ˜€λ‹€. 

function solution(a, b) {
        return BigInt(a) + BigInt(b)+'';
}

 

 

 

728x90
λ°˜μ‘ν˜•