
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
//2차원 배열
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Map<String, Boolean> login = new HashMap<>();
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
String name = st.nextToken();
String status = st.nextToken();
//boolean으로 저장된다. 있으면 true 없으면 false
login.put(name, status.equals("enter"));
}
List<String> names = new ArrayList<>();
for (String name : login.keySet()) {
if (login.get(name)) {
names.add(name);
}
}
//내림차순 정렬
Collections.sort(names, Collections.reverseOrder());
for (String name : names) {
System.out.println(name);
}
}
}
1.hashmap을 사용해야 한다.
hashMap<key, value> Value값을 boolean으로 처리하여 상태를 쉽게 판단할 수 있게 해준다
2.내림차순은 Collections의 메서드 sort를 활용하여 오름차순이 아닌 내림차순으로 한다.
아직 부족한게 많았고 한줄로 받는 법과 여러 줄을 받는 법에 대해 깊이 생각해본 시간이 되었던 것 같다.
더불어 boolean과 hashMap을 조금 더 능숙하게 쓸 수 있도록 연습하고 Collections에 대해 공부가 필요하다 느꼈다.