โ ๋ฌธ์
์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค.
์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์คํ ์ฑํ ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ ์ํด, ๋ค์ํ ์ฌ๋๋ค์ด ๋ค์ด์ค๊ณ , ๋๊ฐ๋ ๊ฒ์ ์ง์ผ๋ณผ ์ ์๋ ๊ด๋ฆฌ์์ฐฝ์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ฑํ ๋ฐฉ์ ๋๊ตฐ๊ฐ ๋ค์ด์ค๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
"[๋๋ค์]๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์์ ๋๊ตฐ๊ฐ ๋๊ฐ๋ฉด ๋ค์ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
"[๋๋ค์]๋์ด ๋๊ฐ์ต๋๋ค."
์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง์ด๋ค.
- ์ฑํ ๋ฐฉ์ ๋๊ฐ ํ, ์๋ก์ด ๋๋ค์์ผ๋ก ๋ค์ ๋ค์ด๊ฐ๋ค.
- ์ฑํ ๋ฐฉ์์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ค.
๋๋ค์์ ๋ณ๊ฒฝํ ๋๋ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ์ถ๋ ฅ๋์ด ์๋ ๋ฉ์์ง์ ๋๋ค์๋ ์ ๋ถ ๋ณ๊ฒฝ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฑํ ๋ฐฉ์ "Muzi"์ "Prodo"๋ผ๋ ๋๋ค์์ ์ฌ์ฉํ๋ ์ฌ๋์ด ์์๋๋ก ๋ค์ด์ค๋ฉด ์ฑํ ๋ฐฉ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
"Muzi๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ์๋ ์ฌ๋์ด ๋๊ฐ๋ฉด ์ฑํ ๋ฐฉ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ์์ง๊ฐ ๋จ๋๋ค.
"Muzi๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Muzi๋์ด ๋๊ฐ์ต๋๋ค."
Muzi๊ฐ ๋๊ฐํ ๋ค์ ๋ค์ด์ฌ ๋, Prodo ๋ผ๋ ๋๋ค์์ผ๋ก ๋ค์ด์ฌ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์ฑํ ๋ฐฉ์ ๋จ์์๋ Muzi๋ Prodo๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋๊ฐ์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ์ค๋ณต ๋๋ค์์ ํ์ฉํ๊ธฐ ๋๋ฌธ์, ํ์ฌ ์ฑํ ๋ฐฉ์๋ Prodo๋ผ๋ ๋๋ค์์ ์ฌ์ฉํ๋ ์ฌ๋์ด ๋ ๋ช ์ด ์๋ค. ์ด์ , ์ฑํ ๋ฐฉ์ ๋ ๋ฒ์งธ๋ก ๋ค์ด์๋ Prodo๊ฐ Ryan์ผ๋ก ๋๋ค์์ ๋ณ๊ฒฝํ๋ฉด ์ฑํ ๋ฐฉ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
"Ryan๋์ด ๋ค์ด์์ต๋๋ค."
"Prodo๋์ด ๋๊ฐ์ต๋๋ค."
"Prodo๋์ด ๋ค์ด์์ต๋๋ค."
์ฑํ ๋ฐฉ์ ๋ค์ด์ค๊ณ ๋๊ฐ๊ฑฐ๋, ๋๋ค์์ ๋ณ๊ฒฝํ ๊ธฐ๋ก์ด ๋ด๊ธด ๋ฌธ์์ด ๋ฐฐ์ด record๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ชจ๋ ๊ธฐ๋ก์ด ์ฒ๋ฆฌ๋ ํ, ์ต์ข ์ ์ผ๋ก ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ด ๋ณด๊ฒ ๋๋ ๋ฉ์์ง๋ฅผ ๋ฌธ์์ด ๋ฐฐ์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ๋ผ.
์ ํ์ฌํญ
- record๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์์ด์ด ๋ด๊ธด ๋ฐฐ์ด์ด๋ฉฐ, ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ด๋ค.
- ๋ค์์ record์ ๋ด๊ธด ๋ฌธ์์ด์ ๋ํ ์ค๋ช
์ด๋ค.
- ๋ชจ๋ ์ ์ ๋ [์ ์ ์์ด๋]๋ก ๊ตฌ๋ถํ๋ค.
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ [๋๋ค์]์ผ๋ก ์ฑํ ๋ฐฉ์ ์ ์ฅ - "Enter [์ ์ ์์ด๋] [๋๋ค์]" (ex. "Enter uid1234 Muzi")
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ ์ฑํ ๋ฐฉ์์ ํด์ฅ - "Leave [์ ์ ์์ด๋]" (ex. "Leave uid1234")
- [์ ์ ์์ด๋] ์ฌ์ฉ์๊ฐ ๋๋ค์์ [๋๋ค์]์ผ๋ก ๋ณ๊ฒฝ - "Change [์ ์ ์์ด๋] [๋๋ค์]" (ex. "Change uid1234 Muzi")
- ์ฒซ ๋จ์ด๋ Enter, Leave, Change ์ค ํ๋์ด๋ค.
- ๊ฐ ๋จ์ด๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ผ๋ฉฐ, ์ํ๋ฒณ ๋๋ฌธ์, ์๋ฌธ์, ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค.
- ์ ์ ์์ด๋์ ๋๋ค์์ ์ํ๋ฒณ ๋๋ฌธ์, ์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ๋ค.
- ์ ์ ์์ด๋์ ๋๋ค์์ ๊ธธ์ด๋ 1 ์ด์ 10 ์ดํ์ด๋ค.
- ์ฑํ ๋ฐฉ์์ ๋๊ฐ ์ ์ ๊ฐ ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฑ ์๋ชป ๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์๋๋ค.
โ ์ ์ถ๋ ฅ ์
์ ์ถ๋ ฅ ์
recordresult
["Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"] | ["Prodo๋์ด ๋ค์ด์์ต๋๋ค.", "Ryan๋์ด ๋ค์ด์์ต๋๋ค.", "Prodo๋์ด ๋๊ฐ์ต๋๋ค.", "Prodo๋์ด ๋ค์ด์์ต๋๋ค."] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
๋ฌธ์ ์ ์ค๋ช
๊ณผ ๊ฐ๋ค.
โ ์์์ ํ๋ฆ
enter์ leave๋ฅผ ๋ฐ๋ก ์ ์ํด๋๊ณ , change๊ฐ ๋ค์ด๊ฐ์ ๋๋ ์ ์ธํ๊ณ ๋ง์ง๋ง์ ๋์ค๋ ๊ฑธ๋ก ๋ฎ์ด์ฐ๋ฉด ๋์ง ์์๊น? ๋ผ๊ณ ์๊ฐํ๋ค. ์ด๋ฆ๋ id๋ ํจ๊ป ๋ฐ๋ก ์ด๋๊ฐ์ ์ ์ฅํด๋๊ณ ์ฐ๋ฉด ๋์ง ์์๊น??? ๋ผ๊ณ ์๊ฐํ๋ค.
โ Solution
function solution(record) {
const userName = {};
const massage = {
"Leave": "๋๊ฐ์ต๋๋ค.",
"Enter": "๋ค์ด์์ต๋๋ค.",
}
return record
.map(rec => rec.split(" "))
.filter(rec => {
const [state, id, name] = rec;
if (name) {
userName[id] = name;
}
return state !== "Change";
})
.map(rec => `${userName[rec[1]]}๋์ด ${massage[rec[0]]}`);
}
'๊ฐ๋ฐ > ๐ฌ ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[codewars] Valid Parentheses (0) | 2022.03.30 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฅ - ์๋ฐ์คํฌ๋ฆฝํธ (0) | 2022.03.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] 124๋๋ผ์ ์ซ์ - ์๋ฐ์คํฌ๋ฆฝํธ (0) | 2022.03.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ โ ์๋ฐ์คํฌ๋ฆฝ (0) | 2022.03.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2016๋ โ ์๋ฐ์คํฌ๋ฆฝํธ (0) | 2022.02.19 |