μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- router v6
- λ°±μ€
- React
- Redux toolkit
- Node.js
- js
- λμ κ³νλ²
- μ΄λΆνμ
- 리λμ€ ν΄ν·
- μ½ν
- μ½λ©ν μ€νΈ
- custom hook
- μλ°μ€ν¬λ¦½νΈ
- λλκ·Έ μ΄λ²€νΈ
- μκ³ λ¦¬μ¦
- μΉ΄μΉ΄μ€μ±μ©
- JavaScript
- νλ‘κ·Έλλ¨Έμ€
- κ³Όμ ν μ€νΈ
- DP
- TypeScript
- λΆμ€νΈμ»¨νΌλ°μ€
- μ΄λ―Έμ§ μμ
- icecandidate
- λΈλ£¨νΈν¬μ€
- λΆμ€νΈμΊ νμΉλͺ¨λ°μΌ
- μΉ΄μΉ΄μ€
- μ½λ ν¬λ©§
- svgνμΌ λ€λ£¨κΈ°
- μλ°©ν₯ μ°κ²° 리μ€νΈ
- Today
- Total
π₯ dev-ruby
[νλ‘κ·Έλλ¨Έμ€] μ€νμ±ν λ°© - javascript <2019 KAKAO BLIND RECRUITMENT> λ³Έλ¬Έ
[νλ‘κ·Έλλ¨Έμ€] μ€νμ±ν λ°© - javascript <2019 KAKAO BLIND RECRUITMENT>
ruby_s 2021. 11. 20. 22:54λ¬Έμ μ€λͺ
μΉ΄μΉ΄μ€ν‘ μ€νμ±ν λ°©μμλ μΉκ΅¬κ° μλ μ¬λλ€κ³Ό λνλ₯Ό ν μ μλλ°, λ³Έλ λλ€μμ΄ μλ κ°μμ λλ€μμ μ¬μ©νμ¬ μ±ν λ°©μ λ€μ΄κ° μ μλ€.
μ μ μ¬μμΈ κΉν¬λ£¨λ μΉ΄μΉ΄μ€ν‘ μ€ν μ±ν λ°©μ κ°μ€ν μ¬λμ μν΄, λ€μν μ¬λλ€μ΄ λ€μ΄μ€κ³ , λκ°λ κ²μ μ§μΌλ³Ό μ μλ κ΄λ¦¬μμ°½μ λ§λ€κΈ°λ‘ νλ€. μ±ν λ°©μ λκ΅°κ° λ€μ΄μ€λ©΄ λ€μ λ©μμ§κ° μΆλ ₯λλ€.
"[λλ€μ]λμ΄ λ€μ΄μμ΅λλ€."
μ±ν λ°©μμ λκ΅°κ° λκ°λ©΄ λ€μ λ©μμ§κ° μΆλ ₯λλ€.
"[λλ€μ]λμ΄ λκ°μ΅λλ€."
μ±ν λ°©μμ λλ€μμ λ³κ²½νλ λ°©λ²μ λ€μκ³Ό κ°μ΄ λ κ°μ§μ΄λ€.
- μ±ν λ°©μ λκ° ν, μλ‘μ΄ λλ€μμΌλ‘ λ€μ λ€μ΄κ°λ€.
- μ±ν λ°©μμ λλ€μμ λ³κ²½νλ€.
λλ€μμ λ³κ²½ν λλ κΈ°μ‘΄μ μ±ν λ°©μ μΆλ ₯λμ΄ μλ λ©μμ§μ λλ€μλ μ λΆ λ³κ²½λλ€.
μλ₯Ό λ€μ΄, μ±ν λ°©μ "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 μ΄νμ΄λ€.
- μ±ν λ°©μμ λκ° μ μ κ° λλ€μμ λ³κ²½νλ λ± μλͺ» λ μ λ ₯μ μ£Όμ΄μ§μ§ μλλ€.
μ μΆλ ₯ μ
record | result |
["Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"] | ["Prodoλμ΄ λ€μ΄μμ΅λλ€.", "Ryanλμ΄ λ€μ΄μμ΅λλ€.", "Prodoλμ΄ λκ°μ΅λλ€.", "Prodoλμ΄ λ€μ΄μμ΅λλ€."] |
λ΄κ° νΌ νμ΄
function solution(record) {
const uid = new Map();
const arr = record.map((e)=>e.split(' '));
let result = [];
arr.forEach((value)=>{
if (value[0] === "Enter") {
uid.set(value[1], value[2]);
result.push([value[1], "λμ΄ λ€μ΄μμ΅λλ€."])
}
else if(value[0] === "Change"){
uid.set(value[1], value[2]);
}
else{ // Leave
result.push([value[1], "λμ΄ λκ°μ΅λλ€."])
}
})
return result.map((e)=>{
return uid.get(e[0])+e[1];
});
}