본문 바로가기

알고리즘/백준

[백준] 10810 - 공 넣기

반응형

10810번 문제(1)
10810번 문제(2)

 

써야할 변수가 많으니까 계속 헷갈려서 주석을 달아가면서 풀었다.

 

1. Scanner를 이용한 방법

import java.util.*;

public class Main{
    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        //바구니 개수 및 바구니 번호, 공 번호
        int N = sc.nextInt();
        //공을 넣는 횟수
        int M = sc.nextInt();

        int[] num = new int[N];

        //M개의 줄에 걸쳐서 공을 넣는 방법
        for(int i=0; i < M; i++){

            //i번 바구니부터 j번 바구니까지 k번 번호가 적힌 공을 넣는다.
            int I = sc.nextInt();
            int J = sc.nextInt();
            int K = sc.nextInt();

            //인덱스는 0부터 시작하므로 I - 1
            for(int j = I - 1; j < J; j++){
                //K번 번호가 적혀진 공 넣기
                num[j] = K;
            }
        }    
        for(int k = 0; k < num.length; k++){
            System.out.print(num[k] + " ");
        }
        sc.close();
    }
}

 

2. BufferedReader를 이용한 방법

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

public class Main{
    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[] num = new int[N];

        //M개의 줄에 걸쳐서 공을 넣는 방법
        for(int i=0; i < M; i++){
            StringTokenizer st2 = new StringTokenizer(br.readLine(), " ");
            //i번 바구니부터 j번 바구니까지 k번 번호가 적힌 공을 넣는다.
            int I = Integer.parseInt(st2.nextToken());
            int J = Integer.parseInt(st2.nextToken());
            int K = Integer.parseInt(st2.nextToken());

            //인덱스는 0부터 시작하므로 I - 1
            for(int j = I - 1; j < J; j++){
                //K번 번호가 적혀진 공 넣기
                num[j] = K;
            }
        }    
        for(int k = 0; k < num.length; k++){
            System.out.print(num[k] + " ");
        }
        br.close();
    }
}
반응형

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

[백준] 5597 - 과제 안 내신 분..?  (0) 2024.02.17
[백준] 10813 - 공 바꾸기  (0) 2024.02.16
[백준] 2562 - 최댓값  (0) 2024.02.14
[백준] 10818 - 최소, 최대  (0) 2024.02.13
[백준] 10871 - X보다 작은 수  (0) 2024.02.12