본문 바로가기
프로그래밍/백준 알고리즘 코드

[백준] 10810번 JAVA - 공 넣기 (1차원 배열)

by 졸린이 2023. 6. 7.
반응형

문제가 길어서 읽기가 싫었다..

먼저 n m 입력을 하면 1부터 n까지 바구니가 있고 i j k 정수를 m번 반복하여 입력한다.

i번쨰 바구니부터 j번째 바구니까지 k숫자의 공을 넣는다.

중복되게 넣은 바구니는 나중에 넣은 공으로 바꾸고 1부터 n 까지 바구니의 들어있는 공을 출력한다.

없으면 0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
    // write your code here
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
 
        int rst[] = new int[n];
        int input[][] = new int[m][3];
 
        for(int i=0; i<m; i++){
            for(int j=0; j<3; j++){
                input[i][j] = sc.nextInt();
            }
            for(int k=input[i][0]-1; k<=input[i][1]-1; k++){
                rst[k] = input[i][2];
            }
        }
 
        for(int i=0; i<rst.length; i++){
            System.out.print(rst[i] + " ");
        }
    }
}
cs

line 11: 결과를 출력할 rst 배열을 선언한다. (기본값으로는 0으로 초기화된다)

line 12: m행 3열의 배열을 선언하고 배열을 입력한다.

line 18: 한 행의 예를 들어 1 2 3을 입력하면 1~2 바구니의 3을 넣어야 하고 배열은 0부터 n-1번째 까지 있으므로

input[i][0]-1 부터 input[i][1]-1 까지 즉 0~1 배열의 3을 넣는 것이다.

이렇게 m번 반복하여 입력하면 최종 입력된 값이 rst 배열에 남게 된다.

 

 

반응형

댓글