안녕하세요. 대부분의 문제에서 번호가 1부터 시작하다보니, 일반적으로 배열의 크기를 N+1로 설정하고 1~N까지의 주소로 접근을 하게 되는데요
이 때 문제를 풀 때마다 헷갈리는 부분이, 만약 0~N-1로 했다면, +와 % 연산을 사용한다고 했을떄, 배열의 크기를 초과했을 때, 예를 들어 arr[A] = arr[A+5]를 할 때 A+5가 N-1을 넘어버리면, index 범위를 벗어나니 arr[(A+5)%N]을 해버리는데, 만약 1~N까지의 index만 사용한다고 하면 저런 식을 어떻게 세워야하나요?
(A+5)%(N+1)로 해버리면 0번째 index도 나오게되는데 이럴 때 어떻게 하시나요?
jaehun4706 1년 전
안녕하세요. 대부분의 문제에서 번호가 1부터 시작하다보니, 일반적으로 배열의 크기를 N+1로 설정하고 1~N까지의 주소로 접근을 하게 되는데요
이 때 문제를 풀 때마다 헷갈리는 부분이, 만약 0~N-1로 했다면, +와 % 연산을 사용한다고 했을떄, 배열의 크기를 초과했을 때, 예를 들어 arr[A] = arr[A+5]를 할 때 A+5가 N-1을 넘어버리면, index 범위를 벗어나니 arr[(A+5)%N]을 해버리는데, 만약 1~N까지의 index만 사용한다고 하면 저런 식을 어떻게 세워야하나요?
(A+5)%(N+1)로 해버리면 0번째 index도 나오게되는데 이럴 때 어떻게 하시나요?