티스토리 뷰
반응형
나머지 연산
답을 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
반응형
'알고리즘' 카테고리의 다른 글
| 백준 7576 - 토마토 (1) | 2022.03.10 |
|---|---|
| [프로그래머스] N으로 표현 (1) | 2021.12.28 |
| [프로그래머스] 위클리 10주차 - 교점에 별 만들기 JAVA (1) | 2021.10.22 |
| [프로그래머스] 가장 먼 노드 (1) | 2020.03.04 |
| [프로그래머스] 가장 큰수 (0) | 2020.01.19 |