# 문제
- 주소: https://www.acmicpc.net/problem/2438
- 1~N개의 별을 줄바꿈으로 출력
# 코드
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()); // 몇 번 반복할지.
String star = "*"; // 별 선언 및 초기화.
for (int i = 0; i < N; i++) {
bw.write(star + "\n"); // 데이터 모아두기.
star += "*"; // 덧셈 대입 연산
}
bw.flush(); // 출력과 데이터 비우기.
bw.close();
}
}
# 입/출력 결과
# 과정
- BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
- BufferedWriter + OutputStreamWriter 사용해서 출력하기.
- int N에 몇 개 별을 출력할지 값을 입력받아 형변환하여 저장.
- String star에 "*" 모양을 저장.
- for문 사용하여 계산.
- : 조건식에 int i = 0으로 하고, 입력 받은 N보다 작게 반복.
- : .write() 사용해서 star를 먼저 모아두기.
- : star 변수에 덧셈 대입 연산자를 사용하여 "*" 반복때마다 계속 추가해주기.
- for문 밖에서 .flush()를 사용해서 저장되어 있는 데이터를 출력하고 내용 비우기.
- .close() 사용해서 종료.
# 느낀 점
- BufferedWriter에 익숙해지기 위해서 사용했는데 현재는 익숙해진 거 같다.
- 계속 반복적으로 비슷한 류의 문제를 풀다보니 익숙해지고 저절로 다다닷! 하고 생각이 된다.
'코딩 테스트' 카테고리의 다른 글
[코딩테스트] 백준 10952번: A+B - 5 (0) | 2025.05.16 |
---|---|
[코딩테스트] 백준 2439번: 별 찍기 - 2 (0) | 2025.05.15 |
[코딩테스트] 백준 11022번: A+B - 8 (0) | 2025.05.14 |
[코딩테스트] 백준 11021번: A+B - 7 (0) | 2025.05.14 |
[코딩테스트] 백준 15552번: 빠른 A+B (0) | 2025.05.14 |