https://www.acmicpc.net/problem/2439

내 답안
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++) {
bw.write((" ".repeat(N-i)) + "*".repeat(i) + "\n");
}
bw.flush();
bw.close();
}
}
java는 다른 언어들처럼 "*" * 10 등과 같은 방법으로 문자열 반복이 불가능하다.
문자열을 반복하고자 한다면 for문을 사용하거나 repeat 메서드(자바 11 이상)를 사용해야 한다.
내 답안 - 2 (2차원 배열 사용)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[][] star = new String[n][n];
//배열 초기화
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++) {
star[i][j] = " ";
}
}
for (int i=0; i<n; i++) {
for (int j=n-1; j>=n-1-i; j--) {
star[i][j] = "*";
}
}
for (int i=0; i<n; i++) {
System.out.println(String.join("", star[i]));
}
}
}
'Coding Test > 백준' 카테고리의 다른 글
[백준 10952번 - java] A+B - 5 (0) | 2021.11.04 |
---|---|
[백준 10871번 - java] X보다 작은 수 (0) | 2021.11.04 |
[백준 2438번 - java] 별 찍기 - 1 (0) | 2021.11.04 |
[백준 11022번 - java] A + B - 8 (0) | 2021.11.04 |
[백준 11021번 - java] A + B - 7 (0) | 2021.11.04 |