티스토리 뷰
문제 - (programmers.co.kr/learn/courses/30/lessons/42888)
HashMap을 사용하면 어렵지 않은 문제였다.
테크닉 정도를 기억하고자 한다
String형 타입의 ArrayList<String> list 가 있다면
이 리스트를 배열로 나타내야 할 때,
list.toArray(new String[list.size()]);
를 사용해서 배열로 나타낼 수 있다
코드
import java.util.ArrayList;
import java.util.HashMap;
import java.util.StringTokenizer;
class Solution {
public String[] solution(String[] record) {
HashMap<String, String> map = new HashMap<>();
for (String line : record) {
// 명령어 파싱
StringTokenizer st = new StringTokenizer(line);
String cmd = st.nextToken();
if (cmd.equals("Leave")) continue;
map.put(st.nextToken(), st.nextToken());
}
// memo한 cmd를 가지고 result 생성
StringBuilder sb = new StringBuilder();
ArrayList<String> answer = new ArrayList<>();
for (String line : record) {
StringTokenizer st = new StringTokenizer(line);
String cmd = st.nextToken();
switch (cmd) {
case "Enter":
sb.append(map.get(st.nextToken())).append("님이 들어왔습니다.");
break;
case "Leave":
sb.append(map.get(st.nextToken())).append("님이 나갔습니다.");
break;
default:
continue;
}
answer.add(sb.toString());
sb.setLength(0);
}
return answer.toArray(new String[answer.size()]);
}
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 14891
- dfs
- 재귀
- 톱니바퀴
- 코딩테스트
- 큰 수 만들기
- 구현
- header
- 배열순회
- Access-Control-Allow-Origin
- 자바
- 구명보트
- withCredentials
- Greedy
- 16234
- 시뮬레이션
- 아기상어
- 코딩테스트 연습
- 완전탐색
- 사다리 조작
- BOJ
- 그리디
- java
- 코테
- 우선순위큐
- 드래곤 커브
- 프로그래머스
- 브라우저 요청
- 인구이동
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함