본문 바로가기
알고리즘/[백준] JAVA

[백준] 10810 공 넣기

by 코딩맛집 2023. 5. 2.

https://www.acmicpc.net/problem/10810

 

 

10810번: 공 넣기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이

www.acmicpc.net

 

방법1

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer str = new StringTokenizer(br.readLine());

        //바구니
        int n = Integer.parseInt(str.nextToken());
        Integer[] basket = new Integer[n];

        //공 넣으려는 횟수
        int m = Integer.parseInt(str.nextToken());
        //우선 0을 넣어주고
        for(int i=0; i<n; i++){
            basket[i] =0;
        }
        // 공을 넣으려는 입력 값
        for(int i=0; i<m; i++){
            StringTokenizer str1 = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(str1.nextToken());
            int b = Integer.parseInt(str1.nextToken());
            int k = Integer.parseInt(str1.nextToken());

            for(int j=0; j<b-a+1; j++){
                basket[a+j-1] = k;
            }

        }
        for(int i =0; i<n; i++){
            System.out.print(basket[i] + " ");
        }
		br.close()
    }
}

 

방법2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer str = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();
        //바구니
        int n = Integer.parseInt(str.nextToken());
        Integer[] basket = new Integer[n];

        //공 넣으려는 횟수
        int m = Integer.parseInt(str.nextToken());
        //우선 0을 넣어주고
        for(int i=0; i<n; i++){
            basket[i] =0;
        }
        // 공을 넣으려는 입력 값
        for(int i=0; i<m; i++){
//            int[] temp = new int[m];
            StringTokenizer str1 = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(str1.nextToken());
            int b = Integer.parseInt(str1.nextToken());
            int k = Integer.parseInt(str1.nextToken());

            for(int j=a-1; j<b; j++){
                basket[j] = k;
            }

        }
        for(int num : basket){
            sb.append(num + " ");
        }
        System.out.println(sb);
        br.close();
    }
}

'알고리즘 > [백준] JAVA' 카테고리의 다른 글

[백준] 10798 세로읽기  (0) 2023.05.05
[백준] 2738 행렬 덧셈  (0) 2023.05.03
[백준] 11718 그대로 출력하기  (0) 2023.05.02
[백준] 9086 문자열  (0) 2023.05.02
[백준] 27866 문자와 문자열  (0) 2023.05.02