※⬇️문제 바로가기
https://www.acmicpc.net/problem/2445
별 찍기 - 8
문제 설명
| 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. |
입력
- 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
- 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
입출력 예
| 입력 | 출력 |
| 5 | ![]() |
풀이 과정
- 전체 행의 개수는 2 x N - 1 개 이다.
- 전체 행을 상,하 절반으로 나눈다.
- * 출력과 공백의 출력 구간을 3개로 나눈다.
- 상단 행 출력시 좌 우 * 출력은 i의 개수만큼 출력해야한다.
- 공백의 출력은 행의 전체 개수인 a의 값에서 i * 2를 해주면 짝수 개수로 공백이 출력된다.
- 하단 행 출력시 전체 행의 수 a에서 현재 행 i 값만큼 빼면 점점 줄어든다.
- 하단 행의 공백 출력은 전체 행의 개수 a에서 i 를 빼면 행이 증가 하면서 반복문 루프 회수도 같이 증가한다.
코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = 2 * sc.nextInt() - 1;
for (int i = 1; i <= a; i++) {
if ((a / 2) >= i - 1) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 0; j <= a - i * 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
} else {
for (int j = 0; j <= a - i; j++) {
System.out.print("*");
}
for (int j = a - i; j < i - 1; j++) {
System.out.print(" ");
}
for (int j = 0; j <= a - i; j++) {
System.out.print("*");
}
}
System.out.println();
}
}
}
※ 내용의 오류 및 피드백은 언제나 환영합니다!
'Code_Test > 백준(BOJ)' 카테고리의 다른 글
| [BEAKJOON] 25206번 - 너의 평점은 (Java) (0) | 2024.05.29 |
|---|---|
| [BEAKJOON] 1924번 - 2007년 (Java) (0) | 2024.05.29 |
| [BEAKJOON] 2675번 - 문자열 반복(Java) (0) | 2024.05.29 |
| [BEAKJOON] 2480번 - 주사위 세개 (Java) (0) | 2024.05.29 |
| [BEAKJOON] 2438번 별 찍기 - 1 (Java) (0) | 2024.05.29 |
