[프로그래머스] 자연수 뒤집기 (부제: Int64에 관하여)

이진욱(JIN WOOK)·2024년 11월 10일
0

네이버블로그에서 2024. 11. 2. 0:15 에 작성된 글입니다.

https://school.programmers.co.kr/learn/courses/30/lessons/12932

바로 직전에 쓴글 자릿수 더하기와 아주 유사한 문제였다.

https://velog.io/@jwl-98/프로그래머스-자릿수-더하기

접근 방법은 자릿수 더하기와 완전히 똑같다.

10으로 나눈 나머지 값들을 추출해서 배열에 그대로 담기만 하면된다.
자릿수 더하기 문제를 풀고 나니까 훨씬 쉽게 느껴졌다.
애초에 나머지 값은 1의 자리수 부터 차근차근 추출되니까.

근데 Int64 라는건 왜 사용했을까?

Int형과 다른점이 뭘까?

우선 Int64 라는건 64비트 정수라는 뜻이다.
즉, 표현할수 있는 데이터량이 64비트로 고정되어 있다는 뜻이다.
-> 항상 이 크기를 유지한다.

반면에 아무것도 적혀있지 않는 Int의 경우는 컴퓨터 시스템에 따라서 유연하게 작동한다.
32비트의 경우 32비트만큼을 표현한다.

만약 정말 큰 수를 표현하고 싶은데
32비트 컴퓨터에서 Int 를 사용하여 32비트를 넘는 정수를 사용하게 되면 에러가 발생한다.
반면에 Int64라고 명시적으로 표현한다면 쓸수 있는 정수의 범위는 64비트로 고정된다.

한마디로 안정성 때문에 사용하는것이다.

명시적으로 표현해주면 시스템과는 상관없이 항상 큰 크기의 데이터 공간을 가지고 있을수 있기때문에 (Int와는 다르게)
빡빡하지 않게(?) 데이터 표현이 가능하다.

문제 제한조건에 숫자를 크게 달아놔서 그랬나 보다.
다행히 형 변환 문법이 통해서 빠르게 넘어갈수 있었다.

요즘은 전부 64비트 컴퓨터를 사용해서 크게 상관없는거 아닌가 라고 생각했는데
임베디드 시스템 (리모컨,비데 같은 전자기판) , IoT 기기과 같은것들은 32비트 시스템을 사용하는 경우가 있다고 한다.

profile
기술로부터 소외 되는 사람이 없도록 우리 모두를 위한 서비스를 만들고 싶습니다.

0개의 댓글

관련 채용 정보