[문제풀이]
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
32
33
34
35
36
|
function solution(record) {
const users = {};
record.forEach(log => {
const [msg, userId, nickname] = log.split(' ');
if(msg === 'Enter') {
users[userId] = nickname;
} else if(msg === 'Change'){
users[userId] = nickname;
}
});
const settingSentence = {
"Enter" : nickname => `${nickname}님이 들어왔습니다.`,
"Leave" : nickname => `${nickname}님이 나갔습니다.`
}
const answer = [];
record.forEach(log => {
const [msg, userId] = log.split(' ');
if(msg !== 'Change') answer.push(settingSentence[msg](users[userId]));
})
return answer;
}
|
cs |
우선 record 변수에 들어오는 것을 형식에 맞게 split을 통해 msg, userId, nickname으로 구분해주는 것이 제일 중요한 작업이었던 것 같다. 그리고 Enter의 경우에는 user의 nickname을 등록하고 Change의 경우에도 다시 변경된 nickname으로 다시 세팅해주고 결과값으로 나와야 할 부분을 settingSentence 함수 내에 구현해주었다.
'프로그래머스' 카테고리의 다른 글
6/16[문제풀이] 프로그래머스 Lv2 위장 (0) | 2021.06.16 |
---|---|
6/15[문제풀이] 프로그래머스 Lv2 다리를 지나는 트럭 (0) | 2021.06.15 |
6/9[문제풀이] 프로그래머스 Lv2 문자열 압축 (0) | 2021.06.09 |
6/8[문제풀이] 프로그래머스 Lv2 스킬트리 (0) | 2021.06.08 |
6/4[문제풀이] 프로그래머스 Lv2 H-Index (0) | 2021.06.04 |