프로그래머스 두 수의 합

yellowbutter·2023년 6월 23일
0

codingtest

목록 보기
3/4
post-thumbnail

두 수의 합
📌 문제 설명
0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.
📌 제한사항
1 ≤ a의 길이 ≤ 100,000
1 ≤ b의 길이 ≤ 100,000
a와 b는 숫자로만 이루어져 있습니다.
a와 b는 정수 0이 아니라면 0으로 시작하지 않습니다.
📌 입출력 예
a b result
"582" "734" "1316"
"18446744073709551615" "287346502836570928366" "305793246910280479981"
"0" "0".

처음 나의 풀이

function solution(a, b) {
    return (Number(a) + Number(b)).toString()
}

"18446744073709551615" "287346502836570928366"
해당 값에서 에러가 나왔다. 그 이유를 찾아보았다.

📍Number 타입은 IEEE 754 부동소수점 형식을 사용하며, 64비트(8바이트)로 표현됩니다. 이로 인해 표현 가능한 정수의 범위에는 제한이 있다.
따라서 매우 큰 정수 또는 정확한 정밀도가 요구되는 계산을 처리해야 할 때에는 BigInt를 사용해야 합니다.

수정한 풀이

function solution(a, b) {
let sum = BigInt(a) + BigInt(b);
return sum.toString()
}

profile
기록은 희미해지지 않는다 🐾🧑‍💻

0개의 댓글