float("inf")랑sys.maxsize같은 거 일까?
결론부터 말하면:
| 항목 | sys.maxsize | float("inf") |
|---|---|---|
| 타입 | int (정수) | float (부동소수점, 실수) |
| 값 | 2**63 - 1 (9223372036854775807) | 무한대를 나타내는 특수 값 |
| 비교 가능성 | ✔️ 다른 int랑 잘 비교됨 | ✔️ float/int랑 비교 가능 |
| 연산 중 overflow | ❌ 안 생김 (파이썬 int는 무한 정밀도) | ❌ 없음 (무한대 그대로 유지됨) |
| 사용 용도 | 정수 문제 (예: 그래프, DP) | float 문제 (예: 좌표, 계산기) |
sys.maxsize는 실제 수야. 엄청 큰 수긴 하지만 유한한 정수.float("inf")는 무한대 개념이야. 그냥 무한히 큼을 뜻하는 특수 float 값예를 들어:
import sys
print(sys.maxsize + 1) # 가능함 (정수니까)
print(float("inf") + 1) # 여전히 inf
print(float("inf") > sys.maxsize) # True
| 상황 | 추천 |
|---|---|
| 정수 연산 알고리즘 (그래프, DP) | sys.maxsize |
| 실수 연산, 좌표계, 거리 계산 등 | float("inf") |
float("inf")랑sys.maxsize는 둘 다 "매우 큰 값" 표현용으로 쓰이지만
타입과 의미가 다름
실전에서는 문제의 자료형(int/float) 따라 선택하는 게 중요