반응형
프로그래밍 문제를 풀다보면 어떤 값으로 나눈 나머지를 반환값으로 요구하는 경우가 있다.
대표적으로 1000000007, 1000000009 등이 있는데, 왜 이런 값을 사용할까 궁금해져서 찾아보게 되었다.
modulo 란?
: the remainder of the division. 나눈 값의 나머지.
반환 값으로 modulo 쓰는 이유?
Int 등의 자료형의 범위는 제한적이기에, 오버플로우를 방지하기 위해 모듈러 연산을 사용한다.
왜 1e9 + 7 ?
모듈러가 지나치게 작다면 언어의 표현력을 비효율적으로 사용하는 것이기에, Int 가 표현할 수 있는 범위를 최대한 활용하기 위해 Int의 max 값에 가까워야 한다.
참고 : hackerearth - Why output the answer modulo 10^9 + 7 ?, facebook -
728x90
반응형
'Algorithm > 참고' 카테고리의 다른 글
Swift 코드 실행 시간 측정 방법 (최신 방법..!) (1) | 2023.05.06 |
---|---|
[Swift] 정렬 sort / sorted 차이점 (0) | 2022.12.31 |
사소한 궁금증들 (0) | 2022.11.13 |
Swift 반복문 (0) | 2022.10.29 |
코테공부 시행착오 (0) | 2022.10.27 |