문제
https://programmers.co.kr/learn/courses/30/lessons/42888?language=javascript
코드
1) 딕셔너리 이용
function solution(record) {
let answer = []
let dict_nickname = {}
for (let i=0; i<record.length; i++) {
record[i] = record[i].split(' ')
if (record[i][0] === "Enter" || record[i][0] === "Change") {
dict_nickname[record[i][1]] = record[i][2]
}
}
for (let i=0; i<record.length; i++) {
if (record[i][0] === "Enter") {
answer.push(dict_nickname[record[i][1]]+"님이 들어왔습니다.")
}
if (record[i][0] === "Leave") {
answer.push(dict_nickname[record[i][1]]+"님이 나갔습니다.")
}
}
return answer
}
2) 딕셔너리, foreach이용
function solution(record) {
let answer = []
let nicknameDict = {}
let stateMap = {
"Enter" : "님이 들어왔습니다.",
"Leave" : "님이 나갔습니다."
}
record.forEach((r) => {
r = r.split(' ')
if (r[0] === "Enter" || r[0] === "Change") {
nicknameDict[r[1]] = r[2]
}
});
record.forEach((r) => {
r = r.split(' ')
if (r[0] in stateMap) {
answer.push(nicknameDict[r[1]]+stateMap[r[0]])
}
});
return answer
}
'⏳ 알고리즘 > JavaScript 알고리즘' 카테고리의 다른 글
프로그래머스 - LV2. 점프와 순간 이동(2018 S/W Coding ) (0) | 2021.07.09 |
---|---|
프로그래머스 - LV2. 이진 변환 반복하기(월간 코드 챌린지 시즌1) (0) | 2021.06.28 |
프로그래머스 - LV2. 기능개발 (0) | 2021.06.28 |
프로그래머스 - LV2. 짝지어 제거하기(2017 팁스타운) (0) | 2021.06.21 |
프로그래머스 - LV1. 키패드 누르기(카카오 2020 인턴쉽) (0) | 2021.06.21 |