728x90
반응형
https://www.acmicpc.net/problem/10810
1. 문제
2. 분석
첫째 줄 입력 값 N은 출력할 값의 총 길이, M은 입력 횟수
둘째 줄 입력 값 부터 i는 시작 인덱스, j는 마지막 인덱스, k는 배열에 넣어줄 값
예제로 예시 풀이를 하면 출력 값의 길이는 5(N)이고 4번(M)의 입력 값이 입력된다.
실제 인덱스로 사용을 위해 i, j 는 -1을 해준다.
초기 값 => 0 0 0 0 0
첫번째로 0(i) ~ 1(j) 인덱스에 3(k)을 넣어준다. => 3 3 0 0 0
두번째로 2(i) ~ 3(j) 인덱스에 4(k)을 넣어준다. => 3 3 4 4 0
세번째로 0(i) ~ 3(j) 인덱스에 1(k)을 넣어준다. => 1 1 1 1 0
네번째로 1(i) ~ 1(j) 인덱스에 2(k)을 넣어준다. => 1 2 1 1 0
결과 값 => 1 2 1 1 0
728x90
반응형
3. 풀이
BufferedReader, BufferedWriter, StringTokenizer를 사용하여 풀이 진행
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
for(int i=0; i<M; i++) {
st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
for(int j=a; j<=b; j++) {
arr[j-1] = c;
}
}
br.close();
for(int i : arr) {
bw.write(i+" ");
}
bw.flush();
bw.close();
}
}
GitHub
관련 포스팅
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 11718번 : 그대로 출력하기 - JAVA 풀이 (0) | 2024.07.31 |
---|---|
[백준] 10813번 : 공 바꾸기 - JAVA 풀이 (0) | 2024.07.29 |
[백준] JAVA 입출력 정리 (2) | 2024.07.22 |