본문 바로가기
develop/coding test

[JS] 프로그래머스 오픈채팅방

by hyoE 2021. 9. 14.
반응형

https://programmers.co.kr/learn/courses/30/lessons/42888

 

코딩테스트 연습 - 오픈채팅방

오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오

programmers.co.kr

 


 

해결 방안 구상

1. Enter와 Leave 구별 / id & nickname 구별하기

2. Enter와 Leave에 따라서 알람문구 설정해서 출력하기

 

오답 

 내가 생각한 해결방안대로 진행하기 위해 우선 "enter id nickname"을 나누기위해 split(' ')을 사용했다. 그 다음 id와 nickname도 받아왔다. 

 

a = ['b', 'c']
{b: c} 

 

형태로 바꿔 id당 nickname을 입력시켜 주려 했다. 여기서 

 

const map = new Map([a]);
const object = Object.fromEntries(map);

 

처리하면 되는 것을 확인했지만, 

 

const key = a[0];
const value = a[1];
const result = {
    [key]: value
};

 

 

기존에 아는 것을 응용만 해도 해결 할 수 있었다.

문제는 Leave시에는 닉네임이 없다는 것을 뒤늦게 깨닫고, 다시 처음부터 진행하였다.

 

 해결 답안

 

여러가지 방법들을 찾아 얻은 해답.

 

1.

forEach( ele => {
 const [ state, id, nick ] = ele.split(' '); } )

이렇게 지정하는 방식이 새로웠다. 

 

2.

object에 값을 입력할때 
let a = { }
a[name] = 'hyoe' 
// a = { name: 'hyoe' }

이렇게 객체를 수정할 수 있다는 것도 배웠다.

 

 

 

 

 

 

 

 

반응형

댓글