728x90
300x250
백준 7785번: 회사에 있는 사람 [정렬][Set] -Java
자료구조 Set을 써야 가장 적절한데.. Set의 사용법이 익숙치않아서 Map을 쓴 case.
순서를 관리하는 TreeSet 을 썼으면 완벽했을듯 !
시간복잡도는 O(N)이것찌?
https://www.acmicpc.net/problem/7785
728x90
package algorithm.boj;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class Boj7785 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.setIn(new FileInputStream("Test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
Map<String,Integer> enterMap = new HashMap<String,Integer>();
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
String name = st.nextToken();
String log = st.nextToken();
if(log.equals("enter"))
enterMap.put(name, 1);
if(log.equals("leave"))
enterMap.remove(name);
}
ArrayList<String> list = new ArrayList<String>();
for(String s : enterMap.keySet()) {
// System.out.println(s);
list.add(s);
}
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.compareTo(o2) < 0)
return 1;
else
return -1;
}
});
// Collections.sort(list, Collections.reverseOrder());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
728x90
'알고리즘 > 그 외' 카테고리의 다른 글
백준 18870번: 좌표 압축 [정렬][좌표압축] - Java (0) | 2023.07.23 |
---|---|
백준 1302번: 베스트셀러 [정렬][Map] -Java (0) | 2023.07.23 |
백준 10814번: 나이순 정렬 [정렬] -Java (0) | 2023.07.12 |
백준 2817번: ALPS식 투표 - [구현][정렬] (0) | 2023.06.16 |
백준 2840번: 행운의 바퀴 [구현][시뮬레이션] - Java (2) | 2023.06.13 |