본문 바로가기

자바(JAVA)/자료구조 & 알고리즘

백준 7785번 자바 HashSet 활용한 풀이

백준 7785번 자바 문제

 

 

 

백준 7785번 자바 HashSet 활용한 풀이

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.StringTokenizer;

public class Main {

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

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

		int n = Integer.parseInt(br.readLine());

		StringTokenizer st;

		// 이름에 중복이 없으므로 HashSet 객체 활용
		HashSet<String> memberSet = new HashSet<String>();

		for (int i = 0; i < n; i++) {

			st = new StringTokenizer(br.readLine(), " ");

			String name = st.nextToken();
			String log = st.nextToken();

			if ("enter".equals(log)) {

				memberSet.add(name);

			} else if ("leave".equals(log)) {

				if (memberSet.contains(name)) {

					memberSet.remove(name);

				}
			}
		}

		br.close();

		// 정렬
		List<String> memberList = new ArrayList<>(memberSet);

		memberList.sort(Comparator.reverseOrder());

		StringBuilder sb = new StringBuilder();

		for (String m : memberList) {

			sb.append(m).append("\n");

		}

		System.out.println(sb);

	}
}