[프로그래머스] 오픈채팅방 (level 2)

김진권·2021년 8월 24일
0

algorithm

목록 보기
7/10

시간초과로 해결할 수 없어서 다른분의 풀이를 참고했다..

function setName(record) {
    var nameDict = {};
    for (var i = 0; i < record.length; i++) {
        if (record[i][0] !== 'L') {
            var temp = record[i].split(' ');
            nameDict[temp[1]] = temp[2];
        }
    }
    return nameDict;
}
function makeLog(record, nameDict) {
    var log = [];
    for (var i = 0; i < record.length; i++){
        if (record[i][0] === 'E') {
            log.push(nameDict[record[i].split(' ')[1]] + "님이 들어왔습니다.") // temp[1] : ID
        } else if (record[i][0] === 'L') {
            log.push(nameDict[record[i].split(' ')[1]] + "님이 나갔습니다.")
        }
    }
    return log;
}
function solution(record) {
    return makeLog(record, setName(record));
}

setName 함수 : 객체 프로퍼티의 성질을 이용하여 최종에 있는 아이디의 캐릭터값을 그 아이디에 할당한다. 그렇게 만들어진 객체를 반환한다.

makeLog 함수 : setName 에서 만들어진 객체를 매개변수로 로그를 작성한다.

출처 : https://jireh.tistory.com/18

profile
start!

0개의 댓글