반응형
이번에는 2번 문제와 같이 오른쪽 벽에 붙어 별을 그려나가는 방식이다.
좌우 대칭으로 숫자를 바꿔 생각하면 편하다.
[ 백준 2439번 문제 ] 별 찍기 - 2 - JAVA
이전 별 찍기에서 생각했던 공백을 생각해야 하는 문제가 나왔다.N * N의 크기로 생각했을 때 공백과 별 위치를 생각하면 풀면 된다. [ 백준 2438번 문제 ] 별 찍기 - 1 - JAVA단계적 풀이라는 카테고
p-coding.tistory.com
문제 핵심
- 1 <= N <= 100
- N 별 개수를 시작으로 점점 줄여나가 왼쪽 벽에 붙여 나가는 과정
- 즉 공백이 0 ~ N - 1까지 별의 개수가 N ~ 1 개까지
풀이 과정
조건문을 사용하여 공백부터 나왔던 값을 별부터 나오게 끔 변경하면 된다.
1. i를 통해 N번 반복
2. j를 통해 j < i 인 경우에만 공백 처리, i 값이 증가함에 따라 0, 1, 2, 3, 4 ~ N - 1번 공백을 출력
3. 그 외의 조건은 모두 별로 처리
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if(j < i) {
str.append(' ');
}
else {
str.append('*');
}
}
str.append('\n');
}
다음은 지금까지 배운 문제를 토대로
1~4번 중 2개를 합쳐서 풀어보는 5 ~ 6번 문제이다.
9번까지 쭉 뇌를 깨어보는 별 찍기를 해보자.
전체 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder str = new StringBuilder();
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if(j < i) {
str.append(' ');
}
else {
str.append('*');
}
}
str.append('\n');
}
System.out.println(str);
}
}
반응형
'백준 단계별 풀이' 카테고리의 다른 글
[ 백준 2443번 문제 ] 별 찍기 - 6 - JAVA (1) | 2025.06.17 |
---|---|
[ 백준 2442번 문제 ] 별 찍기 - 5 - JAVA (1) | 2025.06.15 |
[ 백준 2440번 문제 ] 별 찍기 - 3 - JAVA (1) | 2025.06.12 |
[ 백준 2439번 문제 ] 별 찍기 - 2 - JAVA (2) | 2025.06.11 |
[ 백준 2438번 문제 ] 별 찍기 - 1 - JAVA (1) | 2025.06.10 |