본문 바로가기

Algorithm/Baekjoon

[백준_JAVA_알고리즘] 7785 회사에 있는 사람

import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        HashMap<String, String> hashMap = new HashMap<>();
        String name = "";
        String log = "";
        
        int n = scanner.nextInt();
        for(int i = 0; i < n; i++) {
        	name = scanner.next();
        	log = scanner.next();
        	
        	if(hashMap.containsKey(name)) {
        		hashMap.remove(name);
        	}else {
        		hashMap.put(name, log);
        	}
        }
        
        ArrayList<String> list = new ArrayList<String>(hashMap.keySet());
        
        list.sort(Comparator.reverseOrder());
        for(String result: list) {
        	System.out.println(result);
        }
        scanner.close();
    }
}

name과 log를 HashMap을 이용해서 key ,value로 저장한다.

HashMap의 key 결과값을 list에 저장 후 역순으로 정렬한다. 여기서 Comparator가 사용되었다.

향상된 for문을 이용해서 result값을 출력한다.