728x90
코드 힌트
- 출력되는 행과 열:
- 별의 출력은 총 n*2 - 1개의 행과 n*2개의 열로 이루어져 있습니다.
- 각 행에서 양쪽 끝에 별이 출력되며, 별의 개수는 첫 번째 행에서 마지막 행으로 갈수록 점점 줄어듭니다.
- 별이 증가하는 구간:
- 별이 증가하는 구간은 첫 번째 행부터 n-1번째 행까지입니다.
- 이때는 i가 작을수록 별의 개수가 많고, i >= j 또는 n*2 - i - 1 <= j인 경우에 별을 출력합니다.
- 별이 감소하는 구간:
- 별이 감소하는 구간은 n번째 행 이후부터 시작하여 마지막 행까지입니다.
- i >= n인 경우, i < j 또는 2 * n - 1 - i > j일 때 별을 출력합니다.
- 공백 처리:
- 별을 출력하지 않는 부분은 공백을 출력하여 별의 형태를 만들기 위한 영역입니다.
- 조건에 맞지 않는 부분에는 공백(" ")을 출력합니다.
정답은 더보기 클릭
더보기
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine()); // 사용자로부터 별의 최대 크기 n 입력 받기
// 총 출력할 행의 개수는 n*2 - 1
for (int i = 0; i < n * 2 - 1; i++) {
// 각 행에서 출력할 열의 개수는 n*2
for (int j = 0; j < n * 2; j++) {
// 별이 증가하는 구간
if (i < n) {
// i번째 행에서 j번째 열의 별 출력 조건 (i번째 행의 왼쪽 별과 오른쪽 별을 출력)
if (i >= j || n * 2 - i - 1 <= j) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
// 별이 감소하는 구간
else {
// i번째 행에서 j번째 열의 별 출력 조건 (i번째 행의 왼쪽 별과 오른쪽 별을 출력)
if (i < j || 2 * n - 1 - i > j) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
}
// 한 줄이 끝나면 줄 바꿈
System.out.println();
}
}
}
728x90
'백준' 카테고리의 다른 글
[백준] 균형잡힌 세상 (4949번) (0) | 2024.09.23 |
---|---|
[백준] 보물 (1026번) (0) | 2024.09.20 |
[백준] 북극곰은 괄호를 찢어 (25918번) (1) | 2024.09.13 |
[백준] 다음 소수 (4134번) (2) | 2024.09.04 |
[백준] 가로수 (2485번) (1) | 2024.09.04 |