N = 5일 때
(공백 N-1개) * (공백 N-1개)
(공백 N-2개) *** (공백 N-2개)
(공백 N-3개) ***** (공백 N-3개)
(공백 N-4개) ******* (공백 N-4개)
(공백 N-5개) ********* (공백 N-5개)
이런 식으로 출력하라는 문제인데, 별 뒤에 공백은 신경쓸 필요가 없다.
따라서 for문의 i를 1부터 N까지 반복하면서 N-1번 공백을 찍고 2*i-1번 *을 찍도록 코드를 구성했다.
import java.io.*;
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();
String star = "*";
String space = " ";
for(int i=1;i<=N;i++) {
sb.append(space.repeat(N-i)).append(star.repeat(2*i-1)).append("\n");
}
System.out.print(sb);
}
}
'[BOJ] - JAVA' 카테고리의 다른 글
[백준] 2522 : 별 찍기 - 12 JAVA 풀이 (0) | 2022.06.03 |
---|---|
[백준] 2445 : 별 찍기 - 8 JAVA 풀이 (0) | 2022.06.03 |
[백준] 2441 :별 찍기 4 JAVA 풀이 (0) | 2022.06.03 |
[백준] 11721 : 열 개씩 끊어 출력하기 JAVA 풀이 (0) | 2022.06.02 |
[백준] 11720 : 숫자의 합 JAVA 풀이 (0) | 2022.06.02 |