반응형
https://www.acmicpc.net/problem/2439
- 문제
- 문제 풀이
백준 2439번 별 찍기 - 2는 브론즈 4 난이도의 구현 문제이다. 이 문제도 전에 풀었던 별 찍기 문제와 상당히 비슷한 문제이다. 이 문제도 첫째 줄부터 N번째 줄까지 차례대로 별을 출력하는 문제이다. 하지만, 이전 문제와 다른 점은 별이 오른쪽 기준으로 있다는 것이다.
문제에서 주어진 예제를 한번 보겠다. N = 5일 때 별을 출력하면 다음과 같다.
*
**
***
****
*****
즉, 첫 번째 줄에는 4개의 스페이스가 있다. 두 번째 줄에는 3개의 스페이스가 있다. 즉, i번째를 할 때 n - i개의 스페이스를 먼저 출력해주고 그다음에 i개의 별을 출력해주면 된다는 것이다.
이 문제도 for-loop을 이용해서 풀 수가 있다. 다만 이 문제에서는 이중 for-loop을 이용해서 풀 것이다. 바깥 loop은 int i = 1부터 i = n까지이고 내부에 있는 for-loop은 2개가 필요하다.
우선 int j = n - i부터 j >= i일 때 까지는 스페이스를 출력해준다. 그리고 int j = 1부터 int j <= i까지는 별을 출력해준다. 자세한 코드는 밑에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= n; i++) {
for (int j = n-i; j >= 1; j--) {
sb.append(" ");
}
for (int j = 1; j <= i; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2753번 : 윤년 – JAVA [자바] (0) | 2022.06.25 |
---|---|
[백준] 10952번 : A+B - 5 – JAVA [자바] (0) | 2022.06.25 |
[백준] 2438번 : 별 찍기 - 1 – JAVA [자바] (0) | 2022.06.23 |
[백준] 1330번 : 두 수 비교하기 – JAVA [자바] (0) | 2022.06.23 |
[백준] 2742번 : 기찍 N – JAVA [자바] (0) | 2022.06.23 |
댓글