회사에 있는 사람

곽지욱·2024년 2월 12일

BOJ

목록 보기
43/69

7785번 : 회사에 있는 사람

import java.io.BufferedReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Scanner;

public class Company_Person {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        HashMap<String, String> map = new HashMap<String, String>();

        for (int i = 0; i<n; i++){
            String name = sc.next();
            String state = sc.next();

            if (map.containsKey(name)){
                map.remove(name);
            }else {
                map.put(name,state);
            }

        }

        ArrayList<String> list = new ArrayList<String>(map.keySet());
        Collections.sort(list,Collections.reverseOrder());
        
         //이름을 사전순으로 정렬하고 싶다면 ?
        //Collections.sort(list);

        for (String li :
                list) {
            System.out.println(li + " ");
        }


    }
}

알고리즘

  • HashMap key 값에 name 을 넣고 만약에 key 값이 한 번더 입력된다면 해당 name 을 HashMap 에서 제거하였음.

  • state 값으로 비교할 필요가 없음.

  • ArrayList 에 map을 넣어서 사전 순의 역순으로 정렬을 해준 뒤 출력

0개의 댓글