-
피라미드 만들기자바 Java/자바로 알고리즘 2021. 11. 24. 23:30
숫자를 입력한 숫자 높이의 별 무늬 피라미드 만들기
<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); } }<출력결과>
* *** ***** ---------- * *** ***** ******* ********* ---------- * *** ***** ******* ********* *********** ************* *************** ***************** *******************<나의 답안>
public class ShapePrinter { public void printPyramid(int height) { for(int column = 1; column <= height; column++) { for(int row = 1; row <= height-column; row++) { System.out.print(" "); } for(int row = 1; row <= 2*column-1; row++) { System.out.print("*"); } System.out.println(); } } }1. 큰 틀 생성
for(int column = 1; column <= height; column++) { }파라미터로 입력받은 높이(height)만큼 출력해야 하므로
height만큼 반복할 예정
2. 별 앞에 들어갈 공백 출력문
for(int row = 1; row <= height-column; row++) { System.out.print(" "); }가로로 출력될거니까 흔히 쓰는 i 대신 row라고 이름을 붙였다.
피라미드 높이(height)를 5라고 가정했을 때
1번째줄(column)의 공백은 4개
2번째줄의 공백은 3개
3번째줄의 공백은 2개
그러므로 각 줄의 공백은 height - column (높이 - n번째줄) 만큼 반복하여 생성
3. 줄마다 갯수 맞춘 별 출력문
for(int row = 1; row <= 2*column-1; row++) { System.out.print("*"); } System.out.println();1번째줄은 별이 1개, 2번째줄은 3개, 3번째줄은 별이 5개....
이를 공식으로 만들면, 2*column-1 ( 2 * n번째줄 -1 )
별까지 한줄 출력이 완료되면 줄바꿔주기
4. 공백출력문과 별출력문을 큰 틀 안에 넣어주면 완성
for(int column = 1; column <= height; column++) { for(int row = 1; row <= height-column; row++) { System.out.print(" "); } for(int row = 1; row <= 2*column-1; row++) { System.out.print("*"); } System.out.println(); }'자바 Java > 자바로 알고리즘' 카테고리의 다른 글
[프로그래머스] 연속된 수의 합 (0) 2023.04.10 사원의 이름과 월급 입력 받아 연봉, 월급 인상분 출력 (0) 2023.01.12 입력 받은 초가 몇 시간, 몇 분, 몇 초에 해당하는지 계산 (0) 2023.01.09 행맨 게임 (Hangman Game) (0) 2022.01.06