Algorithm/Baekjoon
백준(2439번) 별 찍기 - 2
Debaeloper
2021. 7. 4. 23:22
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
입출력 예제
설명
- 공백을 넣어주어야 되기 때문에 for문을 2개 사용 했지만 중첩으로 사용하지 않고 StringBuffer 를 이용해서 공간을 하나씩 삭제하는 방법으로 빈공간을 만들었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Level03_10 {
// 2439번 - 별 찍기 - 2
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
StringBuffer sbfStar = new StringBuffer();
StringBuffer sbfEmpty = new StringBuffer();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(bf.readLine());
// sbf.delete(0, 1)
for(int i=0; i<num; i++) sbfEmpty.append(" ");
for(int i=0; i<num; i++) bw.write(sbfEmpty.deleteCharAt(0).toString()+sbfStar.append("*").toString()+"\n");
bw.close();
}
}
|
cs |