(백준) 자바 - 2441번 별찍기 4

업데이트:

문제

첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, …, N번째 줄에는 별 1개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

*****
 ****
  ***
   **
    *

내코드

package com.baekjoon;

import java.util.Scanner;

public class backjoon2441 {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int star = scanner.nextInt();

    for(int i = 0; i < star; i++) {
      // 공백 찍기
      for(int j = 0; j < i ; j++) {
        System.out.print(" ");
      }
      // 별 찍기
      for(int k = star; k > i; k--) {
        System.out.print("*");
      }
      System.out.println("");
    }
    scanner.close();
  }
}

풀이

  • 알고리즘 초보에겐 간단한 별찍기조차 너무나 어렵다. 일일이 연습장에 그림을 그려가며 푸는데만 2시간이 넘게 걸렸다..

  • 풀이의 핵심은 처음에 공백을 찍고, 그 이후에 별을 찍는 것.

  • 두개의 중첩for문을 활용할 줄 아느냐를 테스트 하는 것 같다.

알고리즘의 길은 멀고도 험하다..

댓글남기기