본문 바로가기

백준/JAVA

[JAVA] 백준_7785

[문제]

7785번: 회사에 있는 사람 (acmicpc.net)

 

7785번: 회사에 있는 사람

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는

www.acmicpc.net

[알고리즘]

HashMap을 이용하여 이름을 엘리먼트로 하나씩 put하고 만약 이미 있는 이름이라면 remove 메소드를 이용해 map 객체에서 제거한다. 그리고나서 사전 순의 역순이므로 Collection을 이용한 역순 정렬을 하면 된다. 

[풀이]

- 제네릭이 String으로 지정된 ArrayList의 객체 ar을 생성할 때 인자 자리에 바로 a.keySet() 을 넣어주면 HashMap의 객체 a에 있던 key 값들이 ar에 저장된다. 

- Collections 클래스의 static 메소드인 sort를 이용하여 역순 정렬을 한다. 

'백준 > JAVA' 카테고리의 다른 글

[JAVA] 백준_10816  (0) 2023.08.06
[JAVA] 백준_1620  (0) 2023.08.05
[JAVA] 백준_10815  (0) 2023.08.03
[JAVA] 백준_18870  (0) 2023.08.01
[JAVA] 백준_11650  (0) 2023.07.29