https://www.acmicpc.net/problem/2445
1. 아이디어
for문을 활용하면 간단하게 출력할 수 있다.
2. 문제풀이
별과 공백의 출력 개수를 조절하기 위해 left, right 변수를 사용했고 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.
3. 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int left = 1;
int right = 2 * N - 1;
for (int i = 1; i <= 2 * N - 1; i++) {
for (int j = 1; j <= left; j++) {
sb.append("*");
}
for (int j = left; j < right; j++) {
sb.append(" ");
}
for (int j = right; j < 2 * N; j++) {
sb.append("*");
}
sb.append("\n");
if (i < N) {
left++;
right--;
} else {
left--;
right++;
}
}
bw.write(sb.toString());
bw.flush();
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 2565번 - 전깃줄 [Java] (0) | 2025.01.05 |
---|---|
[백준] 2446번 - 별 찍기 - 9 [Java] (0) | 2025.01.05 |
[백준] 2444번 - 별 찍기 - 7 [Java] (0) | 2025.01.05 |
[백준] 2443번 - 별 찍기 - 6 [Java] (0) | 2025.01.05 |
[백준] 2442번 - 별 찍기 - 5 [Java] (0) | 2025.01.05 |