-
[프로그래머스/javascript] 오픈채팅방 (다시 풀어보기)코딩테스트 2023. 3. 3. 10:05
function solution(record) { record = record.map((el)=>el.split(" ")) var answer = []; let ids = {}; let index = {}; let id = '' //index를 저장해놓고, for(let i=0;i<record.length;i++){ id = record[i][1] if(!ids[id]) ids[id] = record[i][2]; if(!index[id]) index[id] = []; index[id].push(i) if(record[i][0]==="Change"||(record[i][0]==="Enter"&&ids[id]&&ids[id]!==record[i][2])){ index[id].map((el)=>{ if(el<i){ record[el][2] = record[i][2]; ids[id] = record[i][2] } } ) }else if(record[i][0]==="Leave"){ record[i][2] = ids[id] } } for(let i=0;i<record.length;i++){ if(record[i][0]==="Enter"){ answer.push(`${record[i][2]}님이 들어왔습니다.`) }else if(record[i][0]==="Leave"){ answer.push(`${record[i][2]}님이 나갔습니다.`) } } return answer; }
더 나은 풀이법이 있다 다시 풀어볼것 결은 비슷한듯
'코딩테스트' 카테고리의 다른 글
[프로그래머스/javascript] 프렌즈 4블록(못풀었다..꼭 다시풀기) (0) 2023.03.07 [프로그래머스/javascript] 파일명 정렬 (정규식 공부하고 다시풀기,sort 객체 사용법 공부) (0) 2023.03.04 [프로그래머스/javascript] 피로도 (꼭!!! 다시풀기 못풀었음) (0) 2023.03.02 [프로그래머스/javascript] 3차 압축 (0) 2023.02.28 [백준/javascript] 1303 전투 (0) 2023.02.27