게시글 삭제
정말 삭제하시겠습니까?
[JAVA] 11. for문 활용 기초 문제풀이
[주요 목차]
1부터 n까지 합 구하기와 기본 구조
구구단 출력과 숫자 역순 출력
홀수·짝수 합 구하기와 출력 형식 실전
Java for문 기초를 막 배우고 나서 “문제를 어떻게 풀어야 할까” 고민이신가요? 실제로 많은 초보자들이 문법은 알겠는데 막상 문제풀이에 들어가면 막히곤 해요. 이번 글에서는 [JAVA] 11. for문 활용 기초 문제풀이 영상을 바탕으로, 1부터 n까지 합 구하기, 구구단, 역순 출력, 홀수·짝수 합까지 다섯 가지 문제를 실무처럼 풀어보겠습니다. 영상을 보지 않아도 바로 따라할 수 있도록 배경 지식과 실행 팁을 추가했어요. for문 하나만 제대로 다루면 이후 배열이나 컬렉션 처리까지 훨씬 수월해집니다. 지금 당장 코드를 열고 따라 치면서 시간을 절약해 보세요.
[JAVA] 11. for문 활용 기초 문제풀이 · 실전 화면 1
1부터 n까지 합 구하기와 기본 구조
Java for문으로 1부터 n까지 합을 구하는 문제는 가장 기본이면서도 실무에서 자주 쓰이는 패턴이에요. 먼저 int sum = 0; 변수를 하나 만들고, for(int i=1; i<=n; i++) { sum += i; } 형태로 작성하면 끝납니다.
예를 들어 n=10이면 55, n=100이면 5050이 나오죠. 이 방식은 1부터 100만까지 합을 구할 때도 숫자만 바꾸면 돼서, 반복문을 쓰지 않고 100줄을 복사 붙여넣기 하는 것보다 훨씬 효율적이에요.
초보자라면 먼저 i 값을 출력해 루프가 제대로 도는지 확인한 뒤 sum을 추가하는 순서로 연습하세요. 증감식 ++i와 i++는 이 경우 결과가 같지만, 나중에 복잡한 수식과 함께 쓸 때는 차이가 생길 수 있으니 미리 알아두는 게 좋아요.
[JAVA] 11. for문 활용 기초 문제풀이 · 핵심 장면 2
구구단 출력과 숫자 역순 출력
구구단 문제는 사용자가 입력한 n단을 출력하는 형태예요. Scanner로 n을 받고 for(int i=1; i<=9; i++) { System.out.printf("%2d x %2d = %2d\n", n, i, n*i); }처럼 작성하면 깔끔하게 정렬된 결과가 나옵니다.
여기서 printf를 쓰면 출력 폭을 지정할 수 있어 숫자가 한 자리든 두 자리든 정렬이 유지돼요. 반대로 숫자를 역순으로 출력할 때는 초기값을 n으로 주고 감소 조건을 넣으면 됩니다. for(int i=n; i>=1; i--) { System.out.println(i); }
증가만 하던 루프를 감소로 바꾸는 순간 많은 초보자들이 헷갈려하는데, 조건식만 i>0으로 바꾸면 간단히 해결돼요. 실제 프로젝트에서는 이런 역순 처리가 로그를 최근 순으로 보여줄 때 자주 활용됩니다.
[JAVA] 11. for문 활용 기초 문제풀이 · 주요 포인트 3
홀수·짝수 합 구하기와 출력 형식 실전
마지막 문제는 1부터 n까지 홀수 합과 짝수 합을 각각 구하고, 특정 형식으로 출력하는 거예요. int oddSum=0, evenSum=0; 두 변수를 만들고 if(i%2==0) evenSum += i; else oddSum += i;로 분기하면 됩니다.
출력 형식까지 맞춰야 할 때는 마지막 숫자 뒤에 ‘+’를 붙이지 않는 조건을 추가해야 해요. i가 1이 아닐 때만 “+”를 출력하는 식으로 처리하면 1+3+5+7+9 같은 깔끔한 결과가 나옵니다.
두 번 같은 코드를 반복 작성하지 않으려면 나중에 메서드로 빼는 연습을 해보세요. 지금 단계에서는 if-else와 printf 조합만으로도 충분히 요구사항을 만족할 수 있어요. GPT에게 “이 출력 형식으로 수정해 달라”고 물어보면서 비교해 보는 것도 좋은 학습 방법입니다.
[자주 묻는 질문]
Java for문으로 1부터 n까지 합을 구할 때 변수는 어디에 선언해야 하나요?
sum 변수는 for문 바깥에 선언해야 해요. for문 안에서 선언하면 매 반복마다 새로 만들어져서 누적되지 않습니다. 보통 int sum = 0;으로 초기화한 뒤 for문 안에서 sum += i; 형태로 더해주면 되고, n 값은 Scanner로 입력받아 유연하게 바꿀 수 있게 작성하는 게 실무에 바로 적용하기 좋아요.
구구단 출력할 때 printf와 println 중 어떤 걸 추천하나요?
정렬이 필요한 경우 printf를 추천해요. %2d처럼 폭을 지정하면 한 자리 숫자와 두 자리 숫자가 깔끔하게 정렬됩니다. println은 단순 출력에는 편하지만, 출력 형식을 맞추려면 문자열 연결을 여러 번 해야 해서 코드가 길어질 수 있어요. 초보자라면 printf부터 익히는 게 이후 다양한 출력 문제에 도움이 됩니다.
홀수·짝수 합을 구할 때 두 개의 for문을 쓰는 게 나을까요?
지금 단계에서는 하나의 for문 안에서 if-else로 처리하는 게 더 간단해요. 두 개의 for문을 쓰면 코드 중복이 생기고, 나중에 수정할 때 번거로워집니다. 다만 동일한 로직을 여러 번 반복 작성하게 된다면, 그때는 메서드로 분리하는 연습을 시작하는 게 좋아요. 현재는 if 조건만으로 충분히 해결할 수 있습니다.