공부 기록장
임의의 최대값 최소값 본문
코딩 테스트 문제 풀이 시 최소값과 최대값을 설정해야 하는 경우가 종종 있다.
문제에서 주어진 최대 범위를 활용해 설정해도 되지만
무한수로 설정하기도 한다.
예를 들면, 최단 경로 문제에서 도달할 수 없는 노드에 대한 거리를 설정할 때 무한(INF)으로 설정한다.
무한수를 설정하는 방법에는 크게 3가지 정도가 있다.
1. 지수 표현
가장 널리 쓰이는 방법인 것 같다.
문제에서 가능한 최댓값이 10억 미만이라면 초기화를 10억으로 해줄 수 있는데
1e9 혹은 -1e9 와 같이 지수 표현으로 10억을 설정해주면
0의 개수가 많아져서 실수하는 것을 줄일 수 있다.
INF = 1e9
최대값의 범위에 따라 2e9 혹은 -2e9로 사용할 수도 있다.
2. sys.maxsize
sys 라이브러리의 maxsize 를 활용할 수 있다.
sys_max = sys.maxsize
sys_min = -sys.maxsize
위의 값들을 돌려보면 각각
9223372036854775807
-9223372036854775807 가 나온다.
3. float()를 활용하는 방법
float_max = float('inf')
float_min = -float('inf')
위와 같이 실수형으로 무한수를 설정해주기도 한다.
.
.
.
경우에 따라서 무한수가 너무 크면 overflow가 발생할 수도 있으므로
이런 저런거 신경 쓰기 싫다면
1번 방식을 사용하거나 문제에서 주어지는 범위값을 보고 설정해주는 것이 좋을 거 같다.
'코딩 테스트 > 정리 및 복습' 카테고리의 다른 글
딕셔너리 자료형 (1) | 2024.03.22 |
---|---|
전역 변수와 지역 변수 (1) | 2024.03.22 |
완전 탐색과 백트래킹 (0) | 2024.03.21 |
input() vs sys.stdin.readline() (0) | 2024.03.20 |
코딩 테스트 문제 유형 파악하기 (1) | 2024.03.20 |