728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/42888
문제 풀이 방법
- 문제는 맨 나중에 나오는 결과를 출력하면 되므로 다시 들어왔을 때와 이름을 바꿀때 이름이 바뀌기에
Map객체를 이용해 최종적으로 모두 바뀐 이름을 Map에 저장해 둔뒤 사용한다.
코드
const solution = (record) => {
let answer = [];
let len = record.length;
let input = record.map(e => e.split(' '));
let userInfo = new Map();
input.forEach(e => {
if(e[0] === 'Enter' || e[0] === 'Change'){
userInfo.set(e[1], e[2]);
}
});
input.forEach(e => {
if(e[0] === 'Enter'){
answer.push(`${userInfo.get(e[1])}님이 들어왔습니다.`);
}
else if(e[0] === 'Leave'){
answer.push(`${userInfo.get(e[1])}님이 나갔습니다.`);
}
})
return answer;
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
[JS] 3Level / 탐욕법 / 단속카메라 (0) | 2023.07.18 |
---|---|
[JS] 2Level / 연습문제 / 행렬의 곱셈 (0) | 2023.07.10 |
[JS] 2Level / 월간 코드 챌린지 시즌2 / 괄호 회전하기 (0) | 2023.06.27 |
[JS] 2Level / 연습문제 / 멀리 뛰기 (0) | 2023.06.26 |
[JS] 2Level / 연습문제 / 멀리 뛰기 (0) | 2023.06.26 |