반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=java
내 풀이
import java.lang.*;
import java.util.*;
class Solution {
public String[] solution(String[] record) {
List<String> answer = new ArrayList();
Map<String, String> map = new HashMap<>();
for(String r : record) {
String[] log = r.split(" ");
String type = log[0];
String uId = log[1];
String oId = log.length == 2 ? "" : log[2];
if(!type.equals("Leave")) {
map.put(uId, oId);
}
}
for(String r : record) {
String[] log = r.split(" ");
String type = log[0];
String uId = log[1];
String oId = map.get(uId);
if(type.equals("Enter")) {
answer.add(oId + "님이 들어왔습니다.");
} else if(type.equals("Leave")) {
answer.add(oId + "님이 나갔습니다.");
}
}
return answer.toArray(new String[0]);
}
}
결과
난이도 2정도는 조금 고민하면 풀 수 있는 정도 인것 같다. 그래도 유형별로 풀어봐야 할것 같다.
무난한게 통과하려면 3~4 정도는 가뿐하게 풀어야 할텐데... 조금씩 더 해봐야 겠다.
반응형