# 문제
- 주소: https://www.acmicpc.net/problem/10810
- 바구니에 담긴 공 번호 출력하기.
# 코드
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));
String[] input = br.readLine().split(" ");
int N = Integer.parseInt(input[0]); // 바구니 개수
int M = Integer.parseInt(input[1]); // 공 개수
int[] basket = new int[N]; // 바구니 1 ~ N
for (int i = 0; i < M; i++) { // 공 번호 만큼 반복
String[] ex = br.readLine().split(" ");
int basket1 = Integer.parseInt(ex[0]);
int basket2 = Integer.parseInt(ex[1]);
int ballNum = Integer.parseInt(ex[2]);
for (int j = basket1; j <= basket2; j++) {
basket[j-1] = ballNum; // index 때문에 -1
}
}
for (int i = 0; i < basket.length; i ++) {
bw.write(basket[i] + " "); // 각 바구니 안에 있는 공 번호 저장.
}
bw.flush();
bw.close();
br.close();
}
}
# 입/출력 결과
# 과정
- BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
- BufferedWriter + OutputStreamWriter 사용해서 출력하기.
- String[] input에 입력값 받아서 공백 기준으로 나누어 저장.
- int N, int M에 각각 input 값 담기.
- int[] basket에 배열 길이를 N으로 생성.
- for문 사용해서 계산
- : int i = 0; i < M 만큼 반복.
- : 반복 때마다 String[] ex에 입력값 받아서 공백 기준으로 나눈 다음 저장.
- : int basket1, int basket2, int ballNum에 각각 ex 값 저장.
- : 중첩 for문을 사용해서 입력받은 첫번째 바구니와 두번째 바구니에 ballNum을 저장.
- 그 다음 for문에서 basket.lengh에 맞추어 반복하여 bw.write() 사용해서 바구니에 담긴 공 모아두기.
- bw.flush() 사용해서 출력하고 데이터 비우기
- bw와 br에 .close() 사용해서 종료해주기.
# 느낀 점
- 처음에 문제를 이해하는데 어려움이 있었다. 입력, 출력 글과 예제 입력, 예제 출력을 보고 문제를 이해하는데 도움이 되었다. (내가 이해력이 부족한건가...)
- 이번 문제는 for문을 많이 사용했다. 그리고 배열을 사용하기 위해서 생각을 많이 하게 되었다.
- 중간에 basket을 최종 출력할 때 0이 맨 앞에 와서 다시 생각해보니 컴퓨터는 0부터 시작하기 때문에 -1을 해줘야한다는 걸 알아차렸다.
'코딩 테스트' 카테고리의 다른 글
[코딩테스트] 백준 5597번: 과제 안 내신 분..? (0) | 2025.05.22 |
---|---|
[코딩테스트] 백준 10813번: 공 바꾸기 (0) | 2025.05.21 |
[코딩테스트 ] 백준 2562번: 최댓값 (0) | 2025.05.20 |
[코딩테스트] 백준 10818번: 최소, 최대 (0) | 2025.05.20 |
[코딩테스트] 백준 10871번: X보다 작은 수 (0) | 2025.05.19 |