-
[BOJ] 회사에 있는 사람Algorithm/BOJ 2020. 5. 27. 15:36
[7785] 회사에 있는 사람
https://www.acmicpc.net/problem/7785
- 어떤 사람이 회사에 들어왔는지, 나갔는지 기록된 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램
Solution
- Set 자료구조에서 로그 기록이 "enter"일 경우 put, 아닐경우에 remove() 연산
- 모든 기록대로 연산을 끝낸 후에 배열에 넣고 오름차순 정렬한 다음 역순 출력
소스코드
1234567891011121314151617181920212223242526272829303132333435363738394041import 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