문제
https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=javascript
자바스크립트
function solution(record) {
// 객체에 Key Value를 통해 user의 정보를 등록 또는 변경
let userDb = {};
for (const event of record) {
const eventList = event.split(' ')
if (eventList[0] === "Enter" || eventList[0] === "Change") {
userDb[eventList[1]] = eventList[2]
}
}
// user의 정보를 바탕으로 히스토리 출력
let answer = []
for (const event of record) {
const eventList = event.split(' ')
if (eventList[0] === "Enter") {
answer.push(`${userDb[eventList[1]]}님이 들어왔습니다.`)
} else if (eventList[0] === "Leave") {
answer.push(`${userDb[eventList[1]]}님이 나갔습니다.`)
}
}
return answer;
}
파이썬
def solution(record):
# split으로 빈칸을 구분해 list로 저장한다.
arr, N = [], len(record)
for i in range(N):
arr.append(record[i].split())
# dictionary를 사용해 변경된 id를 저장한다.
name = {}
for i in range(N):
if len(arr[i]) == 2:
continue
name[arr[i][1]] = arr[i][2]
# 채팅방 최종 메세지 저장 (Change는 추가하지 않는다)
answer = []
for i in range(N):
if arr[i][0] == 'Enter':
answer.append(f'{name[arr[i][1]]}님이 들어왔습니다.')
elif arr[i][0] == 'Leave':
answer.append(f'{name[arr[i][1]]}님이 나갔습니다.')
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 신고 결과 받기 - 자바스크립트 (0) | 2024.11.10 |
---|---|
[프로그래머스] 베스트앨범 - 자바스크립트 (1) | 2024.11.09 |
[프로그래머스] 전화번호 목록 - 자바스크립트 (0) | 2024.11.04 |
[프로그래머스] 기능개발 - 자바스크립트 (0) | 2024.10.26 |
[프로그래머스] 카드 뭉치 - 자바스크립트 (0) | 2024.10.21 |