📌 반복문(while, for)
- 특정 코드를 반복적으로 실행할 때 사용한다. 특히 데이터 처리에서 자주 사용됨.
- 반복문을 사용하면 불필요한 중복 코드를 줄이고 코드의 길이를 간결하게 만들 수 있다.
📌 반복문(while) - 예제 풀기
문제 1.
- System.out.print(“*”);을 사용하여 별을 다섯 개 출력해보자. 단 출력문은 한번만 사용해야 한다.
- 풀이 및 결과
public class 반복문_Q1 {
public static void main(String[] args){
int num = 0;
while (num < 5){
num = num + 1;
System.out.println("*");
}
}
}
문제 2.
- 출력문을 한 번만 사용하여 0~5까지 출력하시오.
- 풀이 및 결과
public class 반목분_Q2 {
public static void main(String[] arsg){
int num = -1;
while (num < 5){
num = num + 1;
System.out.println(num);
}
}
}
문제 3.
- 출력문을 한 번만 사용하여 '2 4 6 8 10'을 출력하시오.
- 풀이 및 결과
public class 반목문_Q3 {
public static void main(String[] args){
int num = 2;
while (num < 11){
System.out.println(num);
num = num + 2;
}
}
}
문제 4. 풀이
- 출력문을 한 번만 사용하여 10~0까지 출력하시오.
- 풀이 및 결과
public class 반복문_Q4 {
public static void main(String[] args){
int num = 11;
while (num > 1 && num < 12){
num = num - 1;
System.out.println(num);
}
////////////////
int i = 10;
while (i > -1){
System.out.println(i);
i = 1 - 1; //i--;
}
}
}
문제 5.
- while문을 사용하여 1~10까지의 합을 구하시오.
- 풀이 및 결과
public class 반복문_Q5 {
public static void main(String[] args){
int num = 1;
int sum = 0;
while (num < 11){
sum = sum + num;
num++;
}
System.out.println(sum);
}
}
문제 6.
- 1~100까지의 숫자 중 3의 배수인 수의 개수를 구하시오
- 내 풀이
public class 반복문_Q6 {
public static void main(String[] args){
//3의 배수 구하기(문제를 잘못 이해 ㅠㅠ)
int num = 3;
while (num < 100){
System.out.println(num);
num = num + 3;
}
}
}
public class 반복문_Q6 {
public static void main(String[] args){
//<쌤 해석>
//1부터 100까지 차례대로 해당 숫자가 3의 배수인지 확인
int cnt = 0; //3의 배수를 저장할 변수
int i = 1;
while (i < 101){
if (i % 3 == 0){
cnt++;
}
i++;
}
System.out.println(cnt);
}
}
문제 7.
- 1~100까지의 숫자 중 5의 배수인 수를 모두 출력하고, 5의 배수인 수의 개수도 출력하시오.
- 내 풀이
public class 반복문_Q7 {
public static void main(String[] arsg){
//5의 배수 출력
int num1 = 5;
while (num1 < 101){
System.out.println(num1);
num1 = num1 + 5;
}
//5의 배수인 수의 개수 출력
int cnt = 0;
int num2 = 1;
while (num2 < 101){
if(num2 % 5 == 0){
cnt++;
}
num2++;
}
System.out.println("5의 배수의 개수는 '" + cnt + "'개 입니다.");
}
}
public class 반복문_Q7 {
public static void main(String[] arsg){
//<선생님 풀이>
int cnt = 0;
int i = 1;
while (i < 101){
if(i % 5 == 0){
System.out.println(i + " "); //5
cnt++;
}
i++;
}
System.out.println();
System.out.println("5의 배수의 개수 :" + cnt);
}
}
문제 8.
- 임의의 정수를 입력받아 1부터 입력받은 수까지 중 짝수의 개수를 구하시오.
- 풀이 및 결과
public class 반복문_Q8 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("숫자 입력 : ");
int num = sc.nextInt(); //의의 정수를 입력받을 변수
int cnt = 0; //짝수의 개수를 저장할 변수
int i = -1;
while (i < num + 1){
if(i % 2 == 0){
cnt++;
}
i++;
}
System.out.println(cnt);
}
}
문제 9.
- 키보드로 두 정수를 입력받아 입력받은 두 정수 사이의 모든 정수의 합을 출력하시오.
- 풀이 및 결과
public class While_문제_9 {
public static void main(String[] args){
//1, 5 -> 2 3 4
Scanner sc = new Scanner(System.in);
System.out.println("첫 번째 수 : ");
int num1 = sc.nextInt(); //1
System.out.println("두 번째 수 : ");
int num2 = sc.nextInt(); //5
//큰 수, 작은 수 구분
int max, min;
if(num1 >= num2){
max = num1;
min = num2;
}
else{
max = num2;
min = num1;
}
//min = 1, max = 5 -> 2 + 3 + 4
int sum = 0;
int i = min + 1;
while(i < max){
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
📌 반복문(for) - 예제 풀기
문제 1.
- 임의의 정수를 입력받아 1부터 입력받은 수까지 중 짝수의 개수를 구하시오.
- 풀이 및 결과
public class For_문제_8 {
public static void main(String[] args){
//
Scanner sc = new Scanner(System.in);
System.out.println("숫자 입력 : ");
int num = sc.nextInt();
int cnt = 0;
for(int i = 1; i < num +1; i++){
if (i % 2 == 0){
cnt++;
}
}
System.out.println(cnt);
}
}
문제 2.
public class For_문제_11 {
public static void main(String[] args){
//2*1=2
//2*2=4
//...
//2*9=18
for(int i = 1; i < 10; i++){
System.out.println("2 * " + i + " = " + (2 * i));
}
}
}
문제 3.
- 출력문을 한 번만 사용하여 0~5까지 출력하시오.
- 풀이 및 결과
public class 반목분_Q2 {
public static void main(String[] arsg){
// i: index
for(int i = 0; i < 6; i++){
System.out.println(i);
}
}
}
문제 3.
- 출력문을 한 번만 사용하여 '2 4 6 8 10'을 출력하시오.
- 풀이 및 결과
public class 반목문_Q3 {
public static void main(String[] args){
for(int i = 2; i < 11; i = i + 2){
System.out.println(i);
}
System.out.println();
//<for문으로 풀기2>
for(int i = 1; i < 11; i++){
if(1 % 2 == 0){
System.out.println(i);
}
}
}
}
문제 4. 풀이
- 출력문을 한 번만 사용하여 10~0까지 출력하시오.
- 풀이 및 결과
public class 반복문_Q4 {
public static void main(String[] args){
for(int i = 10; i > -1; i--){
System.out.println(i);
}
}
}
문제 5.
- while문을 사용하여 1~10까지의 합을 구하시오.
- 풀이 및 결과
public class 반복문_Q5 {
public static void main(String[] args){
int sum = 0;
for(int i = 1; i < 11; i++){
sum = sum + i;
}
System.out.println(sum);
}
}
문제 6.
- 1~100까지의 숫자 중 3의 배수인 수의 개수를 구하시오
- 풀이 및 결과
public class 반복문_Q6 {
public static void main(String[] args){
int cnt = 0;
for(int i = 1; i < 101; i++){
if(i % 3 == 0){
cnt++;
}
}
System.out.println(cnt);
}
}
문제 7.
- 1~100까지의 숫자 중 5의 배수인 수를 모두 출력하고, 5의 배수인 수의 개수도 출력하시오.
- 풀이 및 결과
public class 반복문_Q7 {
public static void main(String[] arsg){
int cnt = 0;
for(int i = 1; i < 101; i++){
if(i % 5 == 0){
cnt++;
System.out.println(i);
}
}
System.out.println(cnt);
}
}