A. 오픈채팅방 입력으로 오픈채팅방의 기록들이 주어진다. 기록의 내용은 누군가 채팅방에 들어오거나, 나가거나, 닉네임을 바꾼 정보들이다. 주어진 기록을 보고 어떤 사용자가 들어오고, 나갔는지 출력하는 문제이다. 단 문제의 조건은 사용자의 닉네임이 변경되었을 때, 가장 마지막으로 변경된 닉네임을 기준으로 출력해야한다. 닉네임은 중복될 수 있지만, 같은 닉네임을 가져도 어떤 사용자인지 식별할 수 있도록 고유한 uid가 주어진다. uid가 고유하기 때문에 uid를 Key로 하고, 닉네임을 Value로 하는 Map 자료구조를 이용하면 쉽게 사용자의 닉네임을 관리 할 수 있다. 처음 주어진 기록들을 한번 순회하여 Map으로 uid와 닉네임을 Key와 Value로 맵핑 해놓는다. Change 커맨드가 주어질 때 M..
A 첫 번째 문제는 메모들이 주어지고 각 메모에는 날짜가 YYYY/MM/DD, YYYY-MM-DD, YYYY년MM월DD일 형태로 반드시 1번 등장한다. 메모에 등장하는 날짜가 빠른 순서로 메모를 정렬한 후에 출력하여야 한다. 주의해야 할 것은 년도가 2자리일 수도 있고, 월이나 일이 05일이나 5일의 형태로 올 수가 있다. 각 메모별로 주어진 날짜를 잘 파싱하여야 하는데, 나는 구분자로 "/", "-", "년|월|일"을 검색하는 케이스를 나누고 구분자 앞, 뒤로 년도, 월, 일을 가져와 저장하는 방식으로 문제를 풀었다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws ..