본문 바로가기

코딩테스트

[JAVA-D3] SWEA 5789 - 현주의 상자 바꾸기

728x90
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

✅ 문제 요약

1번부터 n번까지 상자의 번호가 0으로 채워져있고 i번에 걸쳐 l과 r이 주어졌을 때 

l부터 r상자까지 i로 채운 후 결과를 출력하라

 

🚨CODE

import java.util.*;
import java.io.*;
 
public class Solution {
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
        int testCase = Integer.parseInt(br.readLine());
 
        for (int t = 1; t <= testCase; t++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int n = Integer.parseInt(st.nextToken());
            int q = Integer.parseInt(st.nextToken());
             
            int[] nums = new int[n+1];
             
            for(int i = 1; i<=q; i++) {
                st = new StringTokenizer(br.readLine());
                int l = Integer.parseInt(st.nextToken());
                int r = Integer.parseInt(st.nextToken());
                for(int j = l; j<=r; j++) {
                    nums[j] = i;
                }
            }
             
            StringBuilder sb = new StringBuilder();
            for(int i = 1; i<=n; i++) {
                sb.append(nums[i]).append(" ");
            }
             
            bw.write(String.format("#%d %s\n", t, sb.toString()));
        } // testcase
        bw.flush();
    }
}

 

728x90
반응형