작성일 : November 2, 2021
문제 : https://programmers.co.kr/learn/courses/30/lessons/42888
해설 : https://kis6473.tistory.com/167
정확성: 3.1
효율성: 0.0
합계: 3.1 / 50
function solution(record) {
let map = [];
let answer = [];
let split = record.map(str => str.split(' '));
split.forEach(arr => {
if(arr[0] === 'Enter') {
map.forEach(tmp => {
if(tmp.id === arr[1]) {
tmp.name=arr[2];
}
})
map.push({
id:arr[1],
name:arr[2],
act:'님이 들어왔습니다.'
});
}
if(arr[0] === 'Leave') {
let tmp = map.filter(obj => obj.id === arr[1]);
map.push({
id:arr[1],
name:tmp.name,
act:'님이 나갔습니다.'
});
}
if(arr[0] === 'Change') {
map.forEach(tmp => {
if(tmp.id === arr[1]) {
tmp.name=arr[2];
}
})
}
});
answer = map.map(arr => arr.name + arr.act);
return answer;
}
new Map()
– 맵을 만듭니다.map.set(key, value)
– key
를 이용해 value
를 저장합니다.map.get(key)
– key
에 해당하는 값을 반환합니다. key
가 존재하지 않으면 undefined
를 반환합니다.map.has(key)
– key
가 존재하면 true
, 존재하지 않으면 false
를 반환합니다.