파이썬에서 x보다 작은 가장 큰 정수 구하기
파이썬에서 어떤 수 x보다 작은(또는 같은) 가장 큰 정수를 찾고 싶다면, 내장 모듈인 math에서 제공하는 floor() 함수를 사용하면 됩니다.
floor() 함수는 '바닥'이라는 의미 그대로, 주어진 숫자를 아래 방향으로 내림하여 가장 가까운 정수를 반환합니다. 즉, 입력값 이하의 정수 중 가장 큰 값을 결과로 돌려줍니다.
math.floor() 기본 사용법
먼저 math 모듈을 임포트한 뒤, 원하는 숫자를 인자로 전달하면 됩니다.
>>> import math
>>> x = 6.67
>>> math.floor(x)
6
>>> x = 1.13
>>> math.floor(x)
1
>>> x = -5.78
>>> math.floor(x)
-6
실행 결과 해석
- 6.67 → 6 : 6.67보다 작은 정수 중 가장 큰 값은 6입니다.
- 1.13 → 1 : 1.13보다 작은 정수 중 가장 큰 값은 1입니다.
- -5.78 → -6 : 음수의 경우에도 동일한 규칙이 적용됩니다. -5.78보다 작은 정수 중 가장 큰 값은 -5가 아니라 -6입니다.
주의할 점: 음수 처리
많은 초보자가 헷갈리는 부분이 바로 음수입니다. floor() 함수는 단순히 소수점을 버리는 것이 아니라, 항상 음의 무한대 방향으로 내림한다는 점을 기억해야 합니다. 따라서 -5.78에 대한 결과가 -5가 아니라 -6이 되는 것입니다. 실제로 -6은 -5.78보다 작은 수입니다.
참고: round(), ceil(), int()와의 차이
math.ceil(x): 반대로 올림하여 x보다 크거나 같은 가장 작은 정수를 반환합니다.round(x): 가장 가까운 정수로 반올림합니다.int(x): 소수점 이하를 단순히 잘라내므로 양수일 때는 floor()와 같지만, 음수일 때는 결과가 다릅니다(예: int(-5.78) → -5).
이처럼 파이썬에서 특정 수보다 작은 가장 큰 정수가 필요하다면 math.floor()를 사용하는 것이 가장 정확하고 안전한 방법입니다.