chapter1) 피라미드 별 찍기
2020. 7. 7. 17:07ㆍPS/etc
public class Q16 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("출력할 단 수를 입력하세요.");
int n;
do {
System.out.print("단 수 : ");
n = scanner.nextInt();
} while (n <= 0);
spira(n);
}
// i번쨰 행 (i-1)*2 + 1, 마지막 n 행에는 (n-1)*2 + 1 개의 *
static void spira(int n) {
for (int i = 1; i <= n; i++) { // 행
for (int j = n-1; j >= i; j--) { // 공백
System.out.print(" ");
}
for (int j = 1; j <= (i-1)*2+1; j++) { // 별
System.out.print("*");
}
for (int j = n-1; j >= i; j--) { // 공백
System.out.print(" ");
}
System.out.println();
}
}
}
(1)
class StarPira_01_16 {
static void spira(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i + 1; j++)
System.out.print(' ');
for (int j = 1; j <= (i - 1) * 2 + 1; j++)
System.out.print('*');
System.out.println();
}
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int n;
System.out.println("피라미드 모양으로 나타냅니다.");
do {
System.out.print("단수는 :");
n = stdIn.nextInt();
} while (n <= 0);
spira(n);
}
}
(2)
- 나는 공백을 2번 나누어서 반복했는데 답안 코드는 한번에 처리함
- 답안은 앞에 공백만 처리하고 뒤에 별 찍고 그냥 다음 줄로 넘어감
- 지금 다시 생각해도 답안처럼 생각이 안날거같음
- 뒤에 공백을 그냥 다음줄로 넘기는거 괜찮은거같음
※참조
Do it! 자료구조와 함께 배우는 알고리즘 입문
'PS > etc' 카테고리의 다른 글
chapter2) 배열 역순 정렬 (0) | 2020.07.07 |
---|---|
chapter1) 숫자 피라미드 찍기 (0) | 2020.07.07 |
chapter1) 직각 이등변 삼각형 별찍기 (0) | 2020.07.06 |
chapter1) 사각형 별찍기 (0) | 2020.07.06 |
chapter1) 덧셈표 작성 (0) | 2020.07.06 |