본문 바로가기

Algorithm/Etc

int형 최대, 최소 설정

int형의 최댓값은 0x7fffffff(2,147,483,647)이며, 최솟값은 0x80000000(-2,147,483,648)이다. 엄밀하게 최대, 최소를 지정할 때 이 값을 이용하면 되며, 16진법을 이용하면 쉽게 처리할 수 있다.

 

여기서 주의할 점은 위 값들을 설정한 후 값을 증가시키거나 감소시키면 오버플로
(overflow)로 인하여 답이 잘못될 수 있다. 예를 들어 다음 명령을 보자.

위 예의 경우에 max값이 최댓값이었는데, 여기서 1을 증가하면 오버플로가 발생하여 max값은 음수가 된다. 따라서 이런 점을 방지하기 위하여 적어도 2배 정도라 하더라도 오버플로가 발생하지 않도록 처리하는 경우가 많다. 이럴 때는 주로 최댓값을 987654321 등의 자릿수도 쉽게 알 수 있고 2배를 하더라도 정수 범위에 있는 수 등을 활용하는 경우가 많다. 문제에 따라서는 탐색하고자 하는 데이터 중에서 임의의 한 값을 최댓값 또는 최솟값으로 결정하는 방법도 있다.

'Algorithm > Etc' 카테고리의 다른 글

[DFS, BFS] 리모컨  (0) 2020.10.02
count inversion using merge sort  (0) 2020.09.27
[DFS] n-Queen  (0) 2020.09.26
[DFS] 두더지 굴  (0) 2020.09.25
[DP]Stock max profit  (0) 2020.09.24