개발자 미니민의 개발스터디

[백준 JAVA] 7785번 풀이 - 회사에 있는 사람

by mini_min

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

/**
 * 7785번 - 회사에 있는 사람
 * 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다.
 * 다음 n개의 줄에는 출입 기록이 순서대로 주어진다.
 *
 * 요구 : 현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다.
**/
public class Main12 {

    public static void main(String[] args) throws Exception {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        int n = Integer.parseInt(br.readLine());
        HashMap<String, String> map = new HashMap<>();

        for ( int i =0; i < n; i++ ){
            st = new StringTokenizer(br.readLine());
            map.put(st.nextToken(), st.nextToken());
        }

        StringBuilder sb = new StringBuilder();

        List<String> list = new ArrayList<>();
        for ( String key_name : map.keySet()){
            if ( map.get(key_name).equals("enter")){
                list.add(key_name);
            }
        }

        list.sort(Comparator.reverseOrder());

        for ( int i= 0; i < list.size(); i++ ){
            sb.append(list.get(i) + "\n");
        }

        System.out.println(sb.toString());
    }
}

 

풀이

HashMap 에 사원들 이름을 key 값으로 put하고, enter 를 값으로 가지고 있는 키 값들만 저장한 리스트를 만들어서 역순 정렬해줬다.

 

점점 버퍼리더와 스트링토크나이저에 익숙해지고 있다 ㅎㅅㅎ ! 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기