[JAVA] SWEA 6485 - 삼성시의 버스 노선

hyng·2022년 2월 3일
0

SWEA

목록 보기
25/78

P 개만큼 주어지는 어떤 정류장에 어떤 버스도 오지 않을 수 있기 때문에 HashMap에 없을 수 있다.(하나의 노선이라도 해당 정류장을 지나가야 map에 존재하기 때문)
그래서 containsKey로 확인 후에 map에 없다면 0을 출력해 주어야 한다.

import java.util.*;
class Solution
{
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
        StringBuffer sb = new StringBuffer();

        
        int T = sc.nextInt();
        for(int tc=1; tc<=T; tc++){
            sb.append("#").append(tc).append(" ");
            HashMap<Integer, Integer> map = new HashMap<>();
            int N = sc.nextInt();

            for(int i=0; i<N; i++){
                int a = sc.nextInt();
                int b = sc.nextInt();

                for(int j=a; j<=b; j++){
                    if(map.containsKey(j)){
                        int cnt = map.get(j);
                        map.replace(j, cnt+1);
                    }else{
                        map.put(j, 1);
                    }
                }
            }
           int P = sc.nextInt();
            for(int i=0; i<P; i++){
                int C = sc.nextInt();
                if(!map.containsKey(C))
                    sb.append(0).append(" ");
                else
                    sb.append(map.get(C)).append(" ");
            }
            sb.append("\n");
        }
        System.out.println(sb);
	}
}
profile
공부하고 알게 된 내용을 기록하는 블로그

0개의 댓글