티스토리 뷰

반응형

나머지 연산

 

답을 1,000,000,007 또는 1,000,000,009로 나눈 나머지를 출력하라는 문제를 풀때

분명히 나눴는데도 오버플로우가 뜨거나 "틀렸습니다" 가 뜨는 경우가 있다. 

 

그런 경우 보통 다음과 같은 연산을 했을 경우가 높다.

 

answer = (A+B) % MOD  ( MOD = 1,000,000,007 )   

 

위와 같은경우 A+B에서 이미 int 범위를 초과해버린다면 그 후에 나머지를 적용한다고 해도 이미 오버플로우가 난 상태에서 나누기를 하려고 하는 격이기 때문에 문제를 틀려버리고 만다.

 

이럴 때는 다음과 같이 해결하자.

 

answer = ((A%MOD) + (B%MOD)) % MOD

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함