ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BOJ] 회사에 있는 사람
    Algorithm/BOJ 2020. 5. 27. 15:36

    [7785] 회사에 있는 사람

    https://www.acmicpc.net/problem/7785

    • 어떤 사람이 회사에 들어왔는지, 나갔는지 기록된 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램

     

     

    Solution

    • Set 자료구조에서 로그 기록이 "enter"일 경우 put, 아닐경우에 remove() 연산
    • 모든 기록대로 연산을 끝낸 후에 배열에 넣고 오름차순 정렬한 다음 역순 출력

     

     

    소스코드

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Set;
    import java.util.StringTokenizer;
     
    public class Main {
        static int n;
        static Set<String> log;
        static StringTokenizer st;
     
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            n = Integer.parseInt(br.readLine().trim());
            init();
            while (n-- > 0) {
                st = new StringTokenizer(br.readLine().trim());
                String name = st.nextToken();
                if (st.nextToken().equals("enter")) {
                    log.add(name);
                } else {
                    log.remove(name);
                }
            }
     
            StringBuilder sb = new StringBuilder();
            String[] nameArr = new String[log.size()];
            log.toArray(nameArr);
            Arrays.sort(nameArr);
            for (int i = nameArr.length - 1; i >= 0; i--) {
                sb.append(nameArr[i] + '\n');
            }
            System.out.println(sb.toString());
        }
     
        public static void init() {
            log = new HashSet<>();
        }
    }
    cs

    'Algorithm > BOJ' 카테고리의 다른 글

    [BOJ] 심심한 준규  (0) 2020.07.02
    [BOJ] 나는야 포켓몬 마스터 이다솜  (0) 2020.05.27
    [BOJ] 패션왕 신해빈  (0) 2020.05.27
    [BOJ] 연구소3  (0) 2020.04.28
    [BOJ] 캐슬디펜스  (0) 2020.02.13

    댓글

Designed by Tistory.