본문 바로가기
Baekjoon 자바 코드/1차원 배열

[백준] 10810번 공 넣기 풀이 코드 (Java 자바)

by 망댕이 2024. 7. 29.
반응형

 

접근 방법)

 

첫 번째 줄에 주어진 값을 이용하여 n의 크기를 가진 배열을 생성하고 m만큼 나머지 줄의 규칙을 반복작업을 하는 코드를 생성하면 된다.그렇게 규칙을 이해해 보자면 두 번째 줄부터 a b c 3가지 숫자가 나오는데, 배열의 a-1번 부터 b-1번 까지 c값을 할당한다는 의미이다.그렇게 규칙을 이해하고 for문을 이용하여 출력 값을 성공적으로 출력해보자.

 

 

▷ 규칙에 맞도록 배열에 값 할당하기

 

2중 for문을 사용하여 문제를 쉽게 해결할 수 있다.

for(int i = 0; i < m; i++){
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();
    for(int j = a; j <= b; j++){
        g[j-1] = c; // 배열 a-1부터 b-1까지 c값을 부여
        // int[] g = new int[n];
    }
}

 

 

배열 [a-1]부터 배열 [b-1] 번까지 값을 넣어주는 반복 작업 후 마지막으로 배열을 처음부터 끝까지 출력해주면 된다.


정답 코드 1)

 

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] g = new int[n];
        for(int i = 0; i < m; i++){
            int a = sc.nextInt();
            int b = sc.nextInt();
            int c = sc.nextInt();

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

        for(int k = 0; k < n; k++){
            System.out.print(g[k]+" ");
        }
    }
}

 

반응형