본문 바로가기
👩🏻‍💻 Front-end/👾 Algorithm

프로그래머스 - 오픈채팅방 (Python)

by su-no 2022. 6. 8.

코드

def solution(record):
    answer = []
    id_name = dict()

    for rec in record:
        command = rec.split()[0]

        if command == "Leave":
            continue

        id = rec.split()[1]
        name = rec.split()[2]

        if command in ["Enter", "Change"]:
            id_name[id] = name

    for rec in record:
        command = rec.split()[0]
        id = rec.split()[1]

        if command == "Enter":
            name = rec.split()[2]
            answer.append(f"{id_name[id]}님이 들어왔습니다.")
        elif command == "Leave":
            answer.append(f"{id_name[id]}님이 나갔습니다.")

    return answer

 

 

풀이

id와 name을 dictionary 자료형으로 저장한다.

첫 번째 루프: 한 사람이 들어오거나(Enter) 닉네임을 변경하면(Change), id에 해당하는 name 값을 변경한다.

두 번째 루프: 한 사람이 들어오거나(Enter) 나갈 때(Leave), 메세지를 출력한다.

 

 

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