5. 별(1→5/오른쪽정렬)

박은서's avatar
Dec 08, 2025
5. 별(1→5/오른쪽정렬)

풀이

1) 노가다

package ex03; public class Test5Me { public static void main(String[] args) { System.out.print(" "); System.out.print(" "); System.out.print(" "); System.out.print(" "); System.out.print("*"); System.out.println(); System.out.print(" "); System.out.print(" "); System.out.print(" "); System.out.print("*"); System.out.print("*"); System.out.println(); System.out.print(" "); System.out.print(" "); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); System.out.print(" "); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); } }

2) 공란→for문/별→노가다

package ex03; public class Test51Me { public static void main(String[] args) { int x = 5; int y = 0; for (int i = 0; i < 4; i++) { System.out.print(" "); } System.out.print("*"); System.out.println(); for (int i = 0; i < 3; i++) { System.out.print(" "); } System.out.print("*"); System.out.print("*"); System.out.println(); for (int i = 0; i < 2; i++) { System.out.print(" "); } System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); for (int i = 0; i < 1; i++) { System.out.print(" "); } System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); for (int i = 0; i < 0; i++) { System.out.print(" "); } System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.print("*"); System.out.println(); } }

3) for문 정리 1

package ex03; public class Test52Me { public static void main(String[] args) { for (int i = 0; i < 4; i++) { System.out.print(" "); } for (int j = 0; j < 1; j++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 3; i++) { System.out.print(" "); } for (int j = 0; j < 2; j++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 2; i++) { System.out.print(" "); } for (int j = 0; j < 3; j++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 1; i++) { System.out.print(" "); } for (int j = 0; j < 4; j++) { System.out.print("*"); } System.out.println(); for (int i = 0; i < 0; i++) { System.out.print(" "); } for (int j = 0; j < 5; j++) { System.out.print("*"); } System.out.println(); } }

4) for문 정리 2

package ex03; public class Test53Me { public static void main(String[] args) { int x = 5; int y = 0; x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); } }

5) for문 정리 3

package ex03; public class Test54Me { public static void main(String[] args) { int x = 5; int y = 0; for (int k = 0; k < 5; k++) { x--; for (int i = 0; i < x; i++) { System.out.print(" "); } y++; for (int j = 0; j < y; j++) { System.out.print("*"); } System.out.println(); } } }

6) for문 정리 4

package ex03; public class Test5Me5 { public static void main(String[] args) { int x = 5; int y = 5; int z = 0; for (int k = 0; k < x; k++) { y--; for (int i = 0; i < y; i++) { System.out.print(" "); } z++; for (int j = 0; j < z; j++) { System.out.print("*"); } System.out.println(); } } }

7) 결과

notion image

정답(3행)

1) 노가다

package ex03; public class Test5T { public static void main(String[] args) { String space = " "; String star = "*"; // 1행 (space, space, star) System.out.print(space); System.out.print(space); System.out.print(star); System.out.println(); // 2행 (space, star, star) System.out.print(space); System.out.print(star); System.out.print(star); System.out.println(); // 3행 (star, star, star) System.out.print(star); System.out.print(star); System.out.print(star); System.out.println(); } }

2) for문 1차 정리

package ex03; public class Test5T { public static void main(String[] args) { String space = " "; String star = "*"; // 1행 (space, space, star) for (int i = 0; i < 2; i++) { System.out.print(space); } for (int i = 0; i < 1; i++) { System.out.print(star); } System.out.println(); // 2행 (space, star, star) for (int i = 0; i < 1; i++) { System.out.print(space); } for (int i = 0; i < 2; i++) { System.out.print(star); } System.out.println(); // 3행 (star, star, star) for (int i = 0; i < 0; i++) { System.out.print(space); } for (int i = 0; i < 3; i++) { System.out.print(star); } System.out.println(); } }

3) 변수 정리

package ex03; public class Test5T { public static void main(String[] args) { String space = " "; String star = "*"; int n1 = 2; int n2 = 1; // 1행 (space, space, star) for (int i = 0; i < n1; i++) { System.out.print(space); } for (int i = 0; i < n2; i++) { System.out.print(star); } System.out.println(); n1--; n2++; // 2행 (space, star, star) for (int i = 0; i < n1; i++) { System.out.print(space); } for (int i = 0; i < n2; i++) { System.out.print(star); } System.out.println(); n1--; n2++; // 3행 (star, star, star) for (int i = 0; i < n1; i++) { System.out.print(space); } for (int i = 0; i < n2; i++) { System.out.print(star); } System.out.println(); n1--; n2++; } }

4) for문 2차 정리

package ex03; public class Test5T { public static void main(String[] args) { String space = " "; String star = "*"; int n1 = 2; int n2 = 1; for (int k = 0; k < 3; k++) { for (int i = 0; i < n1; i++) { System.out.print(space); } for (int i = 0; i < n2; i++) { System.out.print(star); } System.out.println(); n1--; n2++; } } }

5) 최종 정리(변수의 수 최소화)

package ex03; public class Test5T { public static void main(String[] args) { // 3행 - space2, star1 // 4행 - space3, star1 // 5행 - space4, star1 // star 1로 고정 -> 상수 // space = 행 - 1 String space = " "; String star = "*"; int row = 3; //행수 int n1 = row-1; //space 수 int n2 = 1; // star 수 for (int k = 0; k < row; k++) { for (int i = 0; i < n1; i++) { System.out.print(space); } for (int i = 0; i < n2; i++) { System.out.print(star); } System.out.println(); n1--; n2++; } } }
변수 row 값만 입력하면 됨

6) 결과

notion image
 
Share article