본문 바로가기

코딩테스트/백준

[백준] 10810번 : 공 넣기 - JAVA 풀이

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
 

CodingTest/백준/Bronze/10810. 공 넣기 at main · rlawo32/CodingTest

Repository for recording Programmers Algorithm problems solving - rlawo32/CodingTest

github.com

 

관련 포스팅
 

[백준] JAVA 입출력 정리

파라미터로 값을 전달하여 사용하는 프로그래머스와 달리 백준은 입력 값을 통해 진행이 된다.백준에서 JAVA로 입출력을 하는 방법과 입력 개수가 정해지지 않은 경우의 처리 방법에 대해 알아

rlawo32.tistory.com

 

 

 

 

 

 

 

 

 

728x90
반응형