문제설명
소스코드
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
HashMap<String, String> m = new HashMap<String, String>();
for (int i = 0; i < N; i++)
{
String name = sc.next();
String log = sc.next();
if (m.containsKey(name)) m.remove(name); //최초 입력이 아니면 나간거
else m.put(name, log); //최초 입력이면 들어온거
}
ArrayList<String> list = new ArrayList<String>(m.keySet()); //Hash맵의 Key들을 ArrayList로 변경
Collections.sort(list, Collections.reverseOrder()); //내림차순으로 정렬
for(int i = 0; i < list.size(); ++i) System.out.println(list.get(i));
}
}
설명
- 이름과 출입 기록을 받는다.
- 해당 이름이 해시맵에 없으면 해시맵에 이름과 출입 기록을 추가한다.
해당 이름이 해시맵에 있으면 해시맵에서 해당 이름과 출입 기록을 삭제한다.(최초 입력이 아니면 나간것이기 때문) - 해시맵의 key들만 ArrayList로 가져온다.
- ArrayList를 내림차순으로 정렬한다.
- 정렬된 ArrayList를 순차적으로 출력한다.
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[Java] 백준 17단계 - 15439번 문제 (베라의 패션) (0) | 2023.07.28 |
---|---|
[Java] 백준 15단계 - 2485번 문제 (가로수) (0) | 2023.07.28 |
[Java] 백준 15단계 - 1620번 문제 (나는야 포켓몬 마스터 이다솜) (0) | 2023.07.27 |
[Java] 백준 15단계 - 1735번 문제 (분수 합) (0) | 2023.07.26 |
[Java] 백준 15단계 - 13241번 문제 (최소공배수) (0) | 2023.07.26 |