728x90
<정답>
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();
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(n-i-1 <= j){
sb.append('*');
} else{
sb.append(' ');
}
}
sb.append("\n");
}
System.out.print(sb);
}
}
공백과 * 모두 나타내야하므로 n이라는 숫자를 입력받으면 내부가 *과 공백으로 구성된 nxn 정사각형이 나온다고 보면된다. 그래서 반복문 i와 j모두 n만큼씩 돌아가도록 했다.
공백을 #라고 하고, n=5인 경우
0 1 2 3 4
# # # # *
# # # * *
# # * * *
# * * * *
* * * * *
첫번째줄에 *이 찍히는 위치는 4이다. i를 이용한 식으로 나타내면 n-i-1이다. (첫번째 줄일때 i는 0이므로)
두번째 줄에 *이 찍히는 위치는 3, 4 번째 위치이다. n-1-i = 3이므로 j가 3보다 크거나 같을 때 *이 찍힌다.
따라서 n-i-1 <= j 일때 *이 찍히도록 했다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / 입출력] 2439 : 별 찍기 - 4 (Java) (0) | 2023.09.03 |
---|---|
[백준 / 입출력] 2440 : 별 찍기 - 3 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 2438 : 별 찍기 - 1 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 10818 : 최소, 최대 (Java) (0) | 2023.09.03 |
[백준 / 입출력] 8393 : 합 (Java) (0) | 2023.09.03 |