동아리/Early-알튜비튜

알튜비튜_05_반복문

대학기록 2024. 11. 10. 13:39

반복문이란?
특정 작업을 여러 번 반복 수행할 수 있게 해주는 구문이다. 
 
반복문을 사용하면 동일한 작업을 반복적으로 수행할 수 있어서 코드를 간결하고 효율적으로 작성할 수 있다. 
 
 
 
증감 연산자 : 변수의 값을 1씩 증가하거나 감소시키는 연산자
- 증가 연산자 와 감소 연산자 가 있다. 
- 전위 증가/전위 감소(++i, --i) : 변수 먼저 증가(감소)시키고 그 값을 사용
- 후위 증가/후위 감소(i++,i--) : 변수 먼저 사용 후 나중에 값 증가(감소)
 
ex) a=5
printf("전위연산: %d", ++a) //6
printf("후위연산: %d", a++) //5
 
 
 
 
반복문 중 for문에 재해서 먼저 살펴보자 

 
 
 

 

 
 
 
이제 반복문 중 while문에 대해서 살펴보자. 

 

 
 
 
이제 반복문 중 dowhile문에 대해서 살펴보자. 

 
 
백준 2439번 - 별찍기 문제
 

 

 
푸는 방법
이중 for문으로 별찍는 것이다. 
1) 공백부분을 이중 for문으로 출력하고
2) 별을 출력한다. 
 
 
 
C언어로 풀어보면,
 
#include <stdio.h>
 int main() {
 int N;
 scanf("%d",&N);
   for (int i = 1; i<= N; i++){           
      for (int j= 1; j <=N - i; j++) {     //공백출력
          printf(" ");
      }
      for (int j= 1; j <=i; j++) {           //별출력
          printf("*");
      }
      printf("\n");
   }
   return 0;
 }
 
이렇게 된다. 
 
 
 
 
이번엔 Java 로 풀어보자. 
 
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
      int N = sc.nextInt();
      for (int i= 1; i <=N; i++) {            
          for(int j =1; j <= N -i; j++) {         //공백출력
              System.out.println(" ");
          }
          for(int j =1; j <= i; j++){               //별출력
              System.out.println("*");
          }
          System.out.println();
      }
     sc.close();
   }
 }
 
 
 
 
 
 
백준 10871 - x보다 작은 수 문제
 

 

 
푸는 방법은 
1) 첫번째 줄 입력 받기 
2) 두번째 줄 입력받기 순으로 입력을 받기. 
--> 이것을 입력받기 위해서는 배열과 for문을 이용해야한다. 
3) X보다 작은 수 출력하기 
--> for문 과 if문 이용하기 
 
 
 
 
C언어로 풀어보자.
 
#include <stdio.h>
int main(){
    int N,X;
    scanf("%d %d",&N,&X);
    
    int A[N];
    for(int i=0;i<N;i++){
        scanf("%d ",&A[i]);
    }
    
    for(int i=0;i<N;i++){
        if(A[i]<X){
            printf("%d ",A[i]);
        }
    }
}
 
 
 
 
이제 Java로 풀어보자.
 
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int N= sc.nextInt();
        int X= sc.nextInt(); 
        
        int[] A=new int[N];    
        for (int i= 0; i < N; i++) {
            A[i]= sc.nextInt();
        }
        for (int i= 0; i < N; i++) {
            if(A[i] <X){
                System.out.print(A[i]+" ");
            }
        }
     sc.close();
    }
 }