적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/참고

modulo 10^9 + 7 이란? + 쓰는 이유?

hongssup_ 2022. 11. 13. 17:22
반응형

프로그래밍 문제를 풀다보면 어떤 값으로 나눈 나머지를 반환값으로 요구하는 경우가 있다. 

대표적으로 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