https://www.acmicpc.net/problem/2438
2438번: 별 찍기 - 1
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
www.acmicpc.net
알고리즘
for (int i = 1; i <= N; i++) { //행 개수
for(int j = 1; j <= i; j++) { //각 행마다의 별 개수
print("*"); //각 행의 별 출력, println() 절대 안 됨!
}
print("\n"); //개행
}
구현 방법
입력
- Scanner
- BufferedReader
* 자료형 타입 주의!
br.readLine(): 문자열로 데이터 읽음 ➡ int형으로 쓰려면 Integer.parseInt()로 형변환 필요
출력
- System.out.println()
- BufferedWriter
* BufferedWriter.write(): 단독으로 int형 값만 넣으면 아스키 코드값으로 인식되기에 다른 문자가 출력됨
➡ 반드시 문자열과 int형을 함께 넣어야 int값 제대로 출력 - StringBuilder
풀이
1. Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
in.close();
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
2. BufferedReader
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
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());
br.close();
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
3. BufferedReader + BufferedWriter
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
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());
br.close();
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++) {
bw.write("*");
}
bw.newLine(); //개행
}
bw.flush();
bw.close();
}
}
4. BufferedReader + StringBuilder
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
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());
br.close();
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= i; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.print(sb);
}
}
성능
- BufferedReader > Scanner
- BufferedWriter / StringBuilder > System.out.println()
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 10871번 : X보다 작은 수 - 2 - Java (0) | 2022.02.23 |
---|---|
[백준] 2439번 : 별 찍기 - 2 - Java (0) | 2022.02.22 |
[백준] 11022번 : A + B - 8 - Java (0) | 2022.02.22 |
[백준] 11021번 : A + B - 7 - Java (0) | 2022.02.21 |
[백준] 2742번 : 기찍 N - Java (0) | 2022.02.21 |
댓글