반응형
https://www.acmicpc.net/problem/2441
- 문제
- 문제 풀이
백준 2441번 별 찍기 - 4는 브론즈 3 난이도의 구현 문제이다. 이 문제에서는 자연수 N이 주어진다. 그리고 첫째 줄에는 별 N개, 둘째 줄에는 N - 1개, 그리고 마지막 줄에는 별 1개를 출력하면 된다. 단, 별들은 오른쪽을 기준으로 정렬된 상태로 출력하면 되는 문제이다.
이 문제도 다른 별 찍기 문제들과 마찬가지로 이중 for-loop을 이용해서 풀 수 있다. 첫째 줄에 별 N개를 출력해야 하므로 바깥 for-loop은 int i = N부터 i >= 1까지 돌린다. 그리고 이 바깥 for-loop안에 또 다른 for-loop 2개를 써줘야 한다. 왜냐하면 별들이 오른쪽을 기준으로 하기 때문에 공백 (" ")도 출력해줘야 하고 별들도 출력해줘야 하기 때문이다.
첫 째 줄에는 공백이 없고 그다음 줄에는 공백이 1개가 있다. 그리고 마지막 줄에는 공백이 N - 1개가 있다. 즉 for-loop은 int j = 0부터 j = N -1까지 돌리고 공백을 출력해주면 된다.
그리고 그다음은 별을 출력해줘야 한다. 첫째 줄에는 별 N개, 둘째 줄에는 N - 1개, 마지막 줄에는 별 1개가 있다. 근데 바깥 for-loop의 i가 1씩 감소한다. 따라서 int j = 1부터 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 = n; i >= 1; i--) {
for (int j = 0; j < n-i; j++) {
sb.append(" "); //공백 출력
}
for (int j = 1; j <= i; j++) {
sb.append("*"); //별 출력
}
sb.append("\n");
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2751번 : 수 정렬하기 2 – JAVA [자바] (0) | 2022.07.10 |
---|---|
[백준] 2798번 : 블랙잭 – JAVA [자바] (0) | 2022.07.10 |
[백준] 10870번 : 피보나치 수 5 – JAVA [자바] (0) | 2022.07.10 |
[백준] 1316번 : 그룹 단어 체커 – JAVA [자바] (0) | 2022.07.09 |
[백준] 10828번 : 스택 – JAVA [자바] (0) | 2022.07.09 |
댓글