[개발] - Java/간단한 Quiz

JAVA 별찍기 (4) 피라미드 모양

완벽한 장면 2023. 3. 23. 01:15

이건 강사 선생님 풀이 기반으로 코드 해석(이해에 초점)

 

만들어야 하는 모양

 

풀이 코드

public class Star04Ex_T {
  public static void main(String[] args) {
  
for(int i = 0; i<5; i++) {  // 0 1 2 3 4
      for(int j = 4; j>i; j--) { // 4 3 2 1 // 4 3 2 // 4 3 // 4 // 안찍힘
        System.out.print(" ");
      }
      for(int j = 0; j<=i*2; j++) { // 0 // 0 1 2 // 0 1 2 3 4 // 0 1 2 3 4 5 6 // 0 1 2 3 4 5 6 7 8
        System.out.print("*");
      }
      System.out.println();
    }
  }
}

 

해석 브레인스토밍

- 일단 이것도, 공백과 별을 분리해서 for문을 생각한다.

- 공백은 첫 줄에 네 칸이 생기므로, j가 4부터 시작하고 j(공백의 수)는 계속 줄어드는 형태다.

- 공백의 수는 첫 줄에 네 칸부터 시작하고, 행 수보다는 항상 크다.

- 별 수는 두 배씩 증가한다(1->3개...)

** 여기서 두 배는 산수적인 두 배가 아니라 의미상 두 배라고 생각하자.

ex) i = 0 => 0*2=0 인데, [0]도 값으로 하면 1개니까. / i=1 => 1*2 = 2 인데, 배열[2]는 0, 1, 2 => 값은 3개.

 

728x90
반응형