이 문제는 매우 간단하다고 느꼈다.
이 문제는 그냥
1. N개의 공을 넣을 정수형 배열 생성
2. M번 반복문 돌리기
3. 반복문 내에 i~j번 까지 k번호 공을 넣음
버퍼 기능을 쓰다 보니, 어쩌다 코드가 길어 보이긴 하는데, Scanner로 입력 받으면 StringTokenizer 클래스를 사용 안해도 된다.
하지만 놀라웠던 건, Scanner를 사용한 코드가 절반 정도 짧아졌는데 아래 코드가 속도가 훨씬 빨랐다..
import java.io.*;
import java.util.*;
public class Step4_5 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // 공백으로 구분
int N = Integer.parseInt(st.nextToken()); // 바구니의 개수
int M = Integer.parseInt(st.nextToken()); // 반복 횟수
int[] bucketArr = new int[N+1]; // 바구니 1번 index부터 받을거라 +1
for(int q = 1; q <= M; q++) {
StringTokenizer st2 = new StringTokenizer(br.readLine(), " ");
int i = Integer.parseInt(st2.nextToken()); // i번부터
int j = Integer.parseInt(st2.nextToken()); // j번까지
int k = Integer.parseInt(st2.nextToken()); // k번을 넣을거임
for(int f = i; f <= j; f++) {
bucketArr[f] = k;
}
}
for(int i = 1; i <= bucketArr.length-1; i++) {
System.out.print(bucketArr[i] + " ");
}
}
}
'알고리즘 분류 > Step4 1차원 배열' 카테고리의 다른 글
</Step4_7> 5597 과제 안 내신 분..? JAVA (0) | 2023.03.22 |
---|---|
</Step4_6> 10813 공 바꾸기 JAVA (0) | 2023.03.20 |
</Step4_4> 2562 최댓값 JAVA (0) | 2023.03.18 |
</Step4_3> 10818 최소, 최대 JAVA (0) | 2023.03.17 |
</Step4_2> 10871 X보다 작은 수 JAVA (0) | 2023.03.16 |