JuSeok

2446번

문제

  • 모래시계 모양으로 별을 출력하는 문제
  • 아래는 3을 입력 받았을 때 예시
    ` * *** * *** * ` ##### 문제 해결 순서 1. 가장 큰 반복문은 2*n-1 만큼 돌아야한다. 2. i는 0 ~ 9까지 돌며 i가 time보다 작을 때, 크거나 같을 때 두 경우로 나눈다. 3. 작을 경우 모래시계 윗 부분을 출력한다. 4. 크거나 같을 경우 모래시계 아랫 부분을 출력한다.
    (1차 삽질 그냥 삼각형 2개로 나눠서 출력할걸 그랬다.. 반복문 하나 안에서 해보려다 결국 더 안 좋은 코드를 짠 듯 하다..)
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    int time = scan.nextInt();
    for(int i = 1; i <= time * 2 - 1; i ++){
      if(i >= time){
        int j = (time * 2 - 1) - i;
        while(j > 0){
          System.out.print(" ");
          j--;
        }
        for(int k = 0; k < (i * 2) - (time * 2 - 1); k++){
          System.out.print("*");
        }
      }
      else{
        int j = 0;
        while(j < i-1){
          System.out.print(" ");
          j++;
        }
        for(int k = (time * 2) - (i * 2); k >= 0; k--){
          System.out.print("*");
        }
      }
      System.out.println();
    }
  }
}

Tags