문제
파라미터로 정수형 height를 받고, 높이 height인 '피라미드'를 출력해보세요.
출력 결과는 아래 템플릿을 참고하세요.
결과값
*
***
*****
----------
*
***
*****
*******
*********
----------
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
풀이 및 답
ShapePrinter 클래스
public class ShapePrinter {
public void printPyramid(int height) {
for (int i = 1; i <= height; i++) {
// 각 줄을 출력: 각 줄의 공백과 별표의 개수에 유의해야 함.
// 반복문 안에 반복문을 중첩하여 사용하여, 아래의 사항을 구현해보세요!
// 공백: 1번째 줄은 (높이 - 1)개의 공백, 2번째 줄은 (높이 - 2)개의 공백이 필요.
// 이를 일반화하면, i번째 줄에서는 (height - i)개의 공백이 필요.
for(int j = 1; j<=height - i; j++) {
System.out.print(" ");
}
// 별표: 1번째 줄은 1개, 2번째 줄은 3개, 3번째 줄은 5개의 별표가 필요.
// 이를 일반화하면, i번째 줄에서는 (2 * i - 1)개의 별표가 필요.
for(int j = 1; j <= 2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
Main 클래스
public class Main {
public static void main(String[] args) {
ShapePrinter printer = new ShapePrinter();
// 테스트
printer.printPyramid(3);
System.out.println("----------");
printer.printPyramid(5);
System.out.println("----------");
printer.printPyramid(10);
}
}