fibonacci문제 풀다가 알게 된 중요한 사실

Outclass·2022년 7월 14일
0

프로그래머스의 fibonacci문제를 풀다가 알게된 중요한 사실인데 혹시나 잊을 까봐 메모해둔다.

분명히 피보나치를 정확하게 풀었는데 계속해서 7번 이후 테스트에서 실패가 뜨는 것에 대해 골몰하다가 하는 수없이 질문하기 쪽을 보았는데 많은 분들이 나와 같은 문제에 봉착했었다는 것을 발견했다.

결국 이에 대한 답변을 발견하고 아주 중요한 것을 알게되었는데

핵심은, 프로그래밍 언어에서 int는 -2,147,483,648 ~ 2,147,483,647까지의 값만을 표현할 수 있는데, 그 범위를 초과하면 -2,147,483,648부터 다시 시작한다는 것

예를 들면 2,147,483,647에서 +1을 하면 2,147,483,648이 되는 것이 아니라 -2,147,483,648이 된다는 것이다.

문제에서 나온 값을 1234567로 나누라고 한 이유도 위와 관련된 이유였다.(fibonacci로 얻어진 값이 int의 범위를 초과할 정도로 지나치게 커지기 때문에)

이래서 기초가 중요한가보다(맨날 하는 말)

좋은 답변 남겨주신 분, 감사합니다

참조링크 :
https://school.programmers.co.kr/questions/11991
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures#number_%ED%83%80%EC%9E%85
https://docs.microsoft.com/ko-kr/cpp/cpp/data-type-ranges?view=msvc-170

profile
When you stop having big dreams that’s when you’ve died, despite not being buried yet.

0개의 댓글