num = i + 1로 실제 검사값 만드는 패턴num % multiple == 0num % 2 == 0 (짝수), num % 2 != 0 (홀수)continue의 동작: 조건이 true면 아래 코드 건너뛰고 다음 반복으로 이동if + continue로 “필요 없는 값 걸러내기” (필터링 로직)sum에 누적하는 방식✅ (1) 1부터 최댓값까지 중에서 특정 배수의 합 구하기
Scanner scanner = new Scanner(System.in);
System.out.print("최댓값: ");
int max = scanner.nextInt();
System.out.print("배수 기준: ");
int multiple = scanner.nextInt();
int i = 0;
int sum = 0;
while (i <= max) {
int num = i + 1;
if (num % multiple != 0) { // 배수가 아니면 건너뛰기
i++;
continue;
}
sum += num;
i++;
}
System.out.println("배수의 합: " + sum);
✅ (2) 1부터 최댓값까지 중에서 “특정 배수이면서 짝수인 수”의 합 구하기
Scanner scanner = new Scanner(System.in);
System.out.print("최댓값: ");
int max = scanner.nextInt();
System.out.print("배수 기준: ");
int multiple = scanner.nextInt();
int i = 0;
int sum = 0;
while (i <= max) {
int num = i + 1;
if (num % multiple != 0) { // 배수 아니면 통과 불가
i++;
continue;
}
if (num % 2 != 0) { // 홀수면 통과 불가
i++;
continue;
}
sum += num;
i++;
}
System.out.println("조건 만족 숫자 합: " + sum);
✅ (3) 짝수이면서 4의 배수이고, 6의 배수는 아닌 수들의 합 구하기
Scanner scanner = new Scanner(System.in);
System.out.print("최댓값: ");
int max = scanner.nextInt();
int i = 0;
int sum = 0;
while (i <= max) {
int num = i + 1;
if (num % 6 == 0) { // 6의 배수는 제외
i++;
continue;
}
if (num % 2 != 0) { // 홀수는 제외
i++;
continue;
}
if (num % 4 != 0) { // 4의 배수가 아니면 제외
i++;
continue;
}
sum += num;
i++;
}
System.out.println("합계: " + sum);
num = i + 1을 쓰는 이유가 처음엔 헷갈렸음 (반복 인덱스 vs 실제 숫자 구분)num % multiple와 multiple % num을 헷갈려서 배수 방향(검사값 vs 기준값)이 뒤집히는 실수를 했음continue가 실행되었을 때, 실제로 어떤 코드가 건너뛰어지는지 흐름을 머릿속으로 그리는 게 어려웠음num % multiple 형태로 통일하면서 헷갈림이 줄어듦if (조건이 true면 continue) 구조를 “필요 없는 값은 위에서 버리고, 살아남은 값만 아래에서 처리한다”는 필터 개념으로 이해num = i + 1 또는 num = i를 선택할 수 있다는 걸 알게 됨if + continue로 처리하면, 로직이 단계별 필터처럼 보이면서 훨씬 이해가 잘 됨continue 없이 if (조건A && 조건B) 형태로 바꾸는 연습도 해보기
오늘은 while, continue, 배수/짝수/홀수 판별을 집중적으로 다루면서,
반복문이 “어려운 문법”이 아니라 그냥 조건 + 필터 + 누적이라는 걸 몸으로 느낀 날이었다.
중간중간에 i 증가 타이밍이나 조건식을 반대로 쓰는 실수를 했지만,
직접 예시를 넣어 하나씩 따라가 보면서 계속 고쳐 나가니까
점점 흐름이 눈에 들어오고 있다.
어제 했던 문자열/ASCII 개념도 오늘 로직에 자연스럽게 연결되면서
“배운 것들이 따로 노는 게 아니라 서로 이어지고 있다”는 느낌이 들었다.
내일은 백준 문제를 많이 풀면서,
오늘 만든 이 패턴들을 진짜 내 몸에 박아넣는 하루로 만들어보자.