반응형
이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[]args) throws IOException {
try {
BufferedReader s_rd = new BufferedReader(new InputStreamReader (System.in));
String text= s_rd.readLine();
int a = Integer.parseInt(text);
for(int i=1; i<=a;i++) {
for(int j=a;j>i;j--) {
System.out.print(" ");
}
for(int j=0;j<i;j++) {
System.out.print("*");
}
System.out.println();
}
}
catch(IOException e) {
}
}
}
|
풀이
값을 입력받은 만큼 반목문을 반복한다.
예제에서는 5를 입력했다. 그렇다면 5가 입력된 경우 다음과 같은 표를 가져야 한다.
* | ||||
* | * | |||
* | * | * | ||
* | * | * | * | |
* | * | * | * | * |
역으로 생각하면 첫 줄에 공백 4칸 이후 3칸, 2칸, 1칸으로 마지막에는 공백이 출력되지 않아야 한다.
가장 간편한 방법으로 생각해낸 부분으로 입력받은 a변수 값보다 i가 클 때까지 공백을 주고 반복문을 종료하면 된다.
tmi) i를 1로 초기화했기 때문에 첫 줄에 *가 한칸 나올 수 있다.
이후 for 문을 사용하여 *를 출력한다.
오타가 있거나 문제가 이해가 안 되는 경우 댓글 부탁드리겠습니다!
짧은 포스팅 읽어주셔서 감사드립니다.
다음 포스팅 때 뵙겠습니다.
반응형
'백준 - Java' 카테고리의 다른 글
[ 백준 - 2675 ][Java] 문자열 반복 (0) | 2022.05.09 |
---|---|
[ 백준 - 2798 ] [Java] 블랙잭 (0) | 2022.05.08 |
[ 백준 - 1978] [Java] 소수 찾기 (0) | 2022.05.06 |
[ 백준 - 1929] [Java] 소수 구하기 (0) | 2022.05.05 |
[백준 - 1546] [Java] 평균 (0) | 2022.05.02 |