알고리즘

자료구조와 함께 배우는 알고리즘 입문[자바] - 1일차

zumsim 2022. 11. 9. 16:55
728x90
반응형

01. 기본 알고리즘

 

연습문제 Q15

 

// 왼쪽 아래가 직각

static void triangleLB(int n) {

    for(int i=1; i<=n; i++) {
         for(int j=0; j<i; j++) {

              System.out.print("*");
         }

         System.out.print("\n");

    }

}

 

//오른쪽 아래가 직각
static void triangleRB(int n) {

      for(int i=1; i<=n; i++) {
           for(int j=0; j<n-i; j++) {

                System.out.print(" ");

           }

           for(int j=0; j<i; j++) {
                System.out.print("*");
           }

           System.out.print("\n");

      }

}

 

//왼쪽 위가 직각
static void triangleLU(int n) {

      for(int i=1; i<=n; i++) {

           for(int j=1; j<=n-(i-1); j++) {

                System.out.print("*");

           }

           System.out.print("\n");

      }

}

 

//오른쪽 위가 직각
static void triangleRU(int n) {

       for(int i=0; i<n; i++) {
            for(int j=0; j<i; j++) {

                 System.out.print(" ");

            }

            for(int j=i+1; j<=n; j++) {

                 System.out.print("*");

            }

            System.out.print("\n");

      }

}

 

public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       System.out.print("입력 n 값 ::: ");

 

       int num = sc.nextInt();

 

       triangleLB(num);
       triangleRB(num);
       triangleLU(num);
       triangleRU(num);

}

    

 

연습문제 Q16

/**
 * n단의 피라미드를 출력
 * i행에는 (i-1)*2+1개의 기호 문자 *가 출력
 * 마지막 n행은 (n-1)*2+1개의 기호 문자 *가 출력
 */
static void spira(int n) {

      for(int i=1; i<=n; i++) {

           for(int j=0; j<n-i; j++) {

                System.out.print(" ");

           }

           for(int j=0; j<(i-1)*2+1; j++) {

                System.out.print("*");

           }

           System.out.print("\n");

      }

}

 

public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       System.out.print("입력 n 값 ::: ");

       int num = sc.nextInt();

      spira(num);

}

 

연습문제 Q17

/**
 * n단의 숫자 피라미드를 출력
 * i행에 출력하는 숫자는 i%10으로 구해서 출력
 */
static void spira(int n) {

      for(int i=1; i<=n; i++) {

           for(int j=0; j<n-i; j++) {

                System.out.print(" ");

           }

           for(int j=0; j<(i-1)*2+1; j++) {

                System.out.print(i);

           }

           System.out.print("\n");

      }

}

 

public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       System.out.print("입력 n 값 ::: ");

       int num = sc.nextInt();

       npira(num)

}

728x90
반응형