← 학습 코스

제외된 값 뒤에도 계속 더해요

C++디버깅

제외와 종료는 다른 동작이에요

앞 레슨에서 구간의 값을 차례로 누적했어요. 이번에는 일부 값만 제외해요. continue는 이번 반복의 나머지를 건너뛰고 다음 반복으로 가요. break는 반복문 전체를 끝내요.

for (int i = 1; i <= 4; i++) {
    if (i == 2) continue;
    // 여기서는 1, 3, 4를 처리해요.
}

두 번째 값을 빼고도 세 번째·네 번째를 처리한다는 점이 핵심이에요.

제외된 값 뒤의 상태를 추적해요

값 1~5에서 3만 제외한다고 해요.

현재 값 할 일 처리 후 합
1 더함 1
2 더함 3
3 제외 3
4 더함 7
5 더함 12

3에서 break를 쓰면 다음 값 4를 처리할까요? 아니요. 합 3에서 반복 전체가 끝나요. 다음 과제에서는 나머지가 0인 값들을 제외해요. %는 앞 입출력 레슨에서 익힌 나머지 연산이에요.

직접 풀어봐요

left부터 right까지 모든 정수 중 divisor의 배수만 제외하고 나머지 합을 반환해요. 양 끝은 포함해요. 제공 함수의 잘못된 한 줄을 수정해요.

0≤left≤right≤100, divisor는 1~20이에요. 0도 divisor의 배수로 취급해요. 실행용 입력은 left right divisor, 출력은 반환값이에요. main은 실행용이에요.

예시 1: (1,6,3) → 12. 3과 6을 빼고 1+2+4+5를 더해요. 예시 2: (2,7,4) → 23. 4만 제외하고 뒤의 5·6·7도 처리해요.

예시 입력

1 6 3

예상 결과

12

예시 입력

2 7 4

예상 결과

23
핵심 개념
  • loops: 한 항목 제외와 반복 전체 종료를 구분해요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기