문제
https://www.acmicpc.net/problem/2439
2439번: 별 찍기 - 2
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
www.acmicpc.net
n개의 줄을 입력받는다. 첫째 줄에는 공백 4개 / 별 1개, 둘째 줄에는 공백 3개 / 별 2개 , N번째 줄에는 공백 0개 / 별 N개를 찍으면 되는 문제이다.
------------------------------------------------------------------------------------------------------------------
Ex
_ _ _ _ *
_ _ _ * *
_ _ * * *
_ * * * *
* * * * *
------------------------------------------------------------------------------------------------------------------
풀이
(1) n을 입력받는다.
(2) n번 반복하기 위해 for문을 선언한다. > for(int i .... )
(3) 공백을 (n-1)번 출력하기 위해 for문을 선언한다. > for(int j .... )
(4) 공백을 출력한 뒤, *을 출력하기 위해 for문을 선언한다. > for(int k .... )
첫번째 줄에서는 1번, 이후로 1씩 증가하므로 k=1, i가 증가할 때 같이 증가시키기 위해 k<=i로 for문을 만든다.
(1) Scanner 사용
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=1;i<=n;i++) { // 1 2 3 4
for(int j=n;j>i;j--) { // 5 4 3 2 1
System.out.print(" ");
}
for(int k=1;k<=i;k++) { // 1 2 3 4
System.out.print("*");
}
System.out.println();
}
}
}
------------------------------------------------------------------------------------------------------------------
(2) BufferdReader 사용
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for(int i=1;i<=n;i++) {
for(int j=n;j>i;j--) {
bw.write(" ");
}
for(int k=1;k<=i;k++) {
bw.write("*");
}
bw.write("\n");
}
br.close();
bw.flush();
bw.close();
}
}
여기서 Integer.parseInt는 숫자형 문자열을 10진수 Integer로 변환해주는 역할을 한다.
Integer.parseInt("5") > 5 (int)
'문제 풀이' 카테고리의 다른 글
[백준] 10951번: A+B - 4 - JAVA (자바) (0) | 2023.02.02 |
---|---|
[백준] 10952번: A+B - 5 - JAVA (자바) (0) | 2023.02.02 |
[백준] 2438번: 별 찍기 - 1 - JAVA (자바) (0) | 2023.01.27 |
[백준] 11022번: A+B-8 - JAVA (자바) (0) | 2023.01.26 |
[백준] 11021번: A+B-7 - JAVA (자바) (0) | 2023.01.25 |