자바와 c는 음수에서 나머지 연산을 하면 음수 값이 나온다. (번외: 파이썬의 경우 양수로 나온다.)
-7 % 3 // -1
하지만 나머지 연산 정의에서 나머지는 0보다 커야 한다.
따라서 자바에서 나머지 연산을 구하기 위해선 나머지가 음수일 경우 나누는 수만큼 더해줘야 한다.
// num은 나눠지는 수 k는 나누는 수
int rest = num % k;
if(rest < 0) rest += k;
num = division * quotient + remainder일 때
num = division * ( quotient - 1 ) + remainder + division 을 해준 것이다.
'알고리즘 문제풀이' 카테고리의 다른 글
[Java] 자바로 코테 풀 때 입출력 받기 (0) | 2023.03.25 |
---|
댓글