백준 / 7785 / 회사에 있는 사람 / java

맹민재·2023년 5월 4일
0

Java

목록 보기
7/32
package backjun.F집합과맵;

import java.util.Scanner;
import java.util.TreeMap;
import java.util.Collections;
public class 회사에있는사람 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        TreeMap<String, Integer> map = new TreeMap<>(Collections.reverseOrder());

        int n= sc.nextInt();
        // sc.next();
        for(int i=0; i<n;i++){
            // String[] t = sc.nextLine().split(" ");
            // String m = t[0];
            String m = sc.next(); sc.next();
            if (map.containsKey(m)) {
				map.remove(m);
			} else {
				map.put(m, 0);
			}
        }

        sc.close();
        
        for(String i:map.keySet())
            System.out.println(i);
    }
}

TreeMap을 사용해서 해결한 문제
TreeMap을 사용하면 Key 값을 기준으로 우선순위 큐의 자료구조와 마찬가지로 저장된다.

이 문제는 역순으로 저장해야하므로 Collections의 reversOrder를 사용해서 해결한다.


처음에 주석처리한 코드로 입력을 String[]로 받아서 해결하려고 했다.
입력 받은 후 print 해보면 제대로 나왔지만 어째서인지 이후 코드가 설계한대로 동작하지 않았다....

해서 그냥 next()를 사용해서 풀긴했지만 아직까지도 이유는 모르겠다.

profile
ㄱH ㅂrㄹ ㅈr

0개의 댓글