๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ์ฑํ ๋ฐฉ
์คํ์ฑํ ๋ฐฉ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์ค
programmers.co.kr
์ ๊ทผ๋ฐฉ๋ฒ
"name๋์ด ์ ์ฅํ์ จ์ต๋๋ค." , "name๋์ด ํด์ฅํ์ จ์ต๋๋ค."์ name์ ์ ๋ฐ์ดํธ ๋ ๋ด์ฉ์ ํญ์ ๋ฐ์ํด์ผํ๋ค.
์ฌ๊ธฐ์ name๋์ userId๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๊ฐ์ userId์ ๋ฉ์์ง๋
"userId๋์ด ์ ์ฅํ์ จ์ต๋๋ค." , "userId๋์ด ํด์ฅํ์ จ์ต๋๋ค."๋ก ํํ๋๋ค.
๊ทธ๋ฆฌ๊ณ userIdName ๊ฐ์ฒด์ userId์ value ๊ฐ์ผ๋ก ๋ง์ง๋ง์ ์ ๋ฐ์ดํธ๋ name์ ํ ๋นํ๋ค.
๋์ผ๋ก answer ๋ฐฐ์ด์ userIdLog ๋ฐฐ์ด์ userId๋ฅผ name์ผ๋ก ๋ณ๊ฒฝํ ๋ฌธ์์ด์ ์ฝ์ ํ๋ค.
ํค๋งจ๋ถ๋ถ
record.forEach(e => { const [state, userId, name] = e.split(" "); if(state === "Enter"){ userIdLog.push([userId, "๋์ด ๋ค์ด์์ต๋๋ค."]); }else if(state === "Leave"){ userIdLog.push([userId, "๋์ด ๋๊ฐ์ต๋๋ค."]); } userIdName[userId] = name; })โ
์ ์ฝ๋๊ฐ ๊ณ์ํด์ ํต๊ณผ๋ฅผ ํ์ง ๋ชปํด์ ๊ณฐ๊ณฐํ ์๊ฐํด๋ณด๋ state==='Leave' ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ์์๋ค.
record.forEach(e => { const [state, userId, name] = e.split(" "); if(state === "Enter"){ userIdLog.push([userId, "๋์ด ๋ค์ด์์ต๋๋ค."]); } if(state === "Leave"){ userIdLog.push([userId, "๋์ด ๋๊ฐ์ต๋๋ค."]); } console.log(state, userId, name); userIdName[userId] = name; })
console.log๋ก state==='Leave'์ผ๋๋ฅผ ์ฐ์ด๋ณด๋ฉด
`Leave uid1234 undefined` ์ด์ฒ๋ผ name = undefined๊ฐ ์ ๋ ฅ๋๋ค.
๋๋ฌธ์ state === "Leave" ์ผ๋ return์ ํตํด forEach๋ฌธ์ ๋ค์ ์์๋ก ๋์ด๊ฐ์ผํ๋ค.
์ฌ๋ด์ผ๋ก if-else if๊ฐ ํ์ํ ์ฝ๋๊ฐ ์๋์ฌ์ if ,if๋ก ๋ฐ๊พธ๋ ์ฝ๋ ์๋๊ฐ ๋ ๋นจ๋ผ์ก๋ค.if-else if์ผ๋
if , if์ผ๋
function solution(record) {
var userIdLog = [];
var answer = [];
const userIdName = {};
record.forEach(e => {
const [state, userId, name] = e.split(" ");
if(state === "Enter"){
userIdLog.push([userId, "๋์ด ๋ค์ด์์ต๋๋ค."]);
}
if(state === "Leave"){
userIdLog.push([userId, "๋์ด ๋๊ฐ์ต๋๋ค."]);
return;
}
userIdName[userId] = name;
})
userIdLog.map((e) => answer.push(userIdName[e[0]] + e[1]))
return answer
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] 124 ๋๋ผ์ ์ซ์ (12899) (0) | 2022.04.29 |
---|---|
[Javascript] ๋ฌธ์์ด ์์ถ (60057) (0) | 2022.04.29 |
[Javascript] ์์ฐ(12982) (0) | 2022.04.28 |
[Javascript] ์คํจ์จ(42889) (0) | 2022.04.28 |
[Javascript] ๋ฉ์ฉกํ ์ฌ๊ฐํ(62048) (0) | 2022.04.28 |