728x90
반응형
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for (int i = 1; i <= 2*num-1; i+=2) {
// 위쪽 별
for (int j = 0; j < ((2*num-1)-i)/2; j++) {
System.out.print(" ");
}
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = 2*num-3; i > 0; i-=2) {
// 아래쪽 별
for (int j = ((2 * num - 1) - i) / 2; j > 0; j--) {
System.out.print(" ");
}
for (int j = i; j > 0; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
1.
for (int i = 1; i <= 2*num-1; i+=2) {
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력하라고 했기 때문에
i는 2×N-1 숫자까지 출력하되 2씩 늘어나도록 for문을 돌려주었다.
2.
for (int j = 0; j < ((2*num-1)-i)/2; j++) {
System.out.print(" ");
}
왼쪽에 공백을 주기위해 2×N-1에 /2를 한 숫자까지 " " 공백 출력을 시켰다.
3.
for (int j = 0; j < i; j++) {
System.out.print("*");
}
j는 i숫자까지 *을 출력했다.
System.out.println();
한 줄이 끝나면 줄띄움을 시킨다.
반대쪽도 응용하여 반대로 찍히도록 한다.
728x90
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 10812번 바구니 순서 바꾸기 (0) | 2023.03.22 |
---|---|
[JAVA] 백준 10988번 팰린드롬인지 확인하기 (0) | 2023.03.22 |
[JAVA] 백준 5622번 다이얼 (0) | 2023.03.20 |
[JAVA] 백준 9086번 문자열 (0) | 2023.03.20 |
[JAVA] 백준 27866번 문자와 문자열 (0) | 2023.03.20 |