본문 바로가기
알고리즘

[알고리즘] 오픈 채팅방

by keel_im 2021. 5. 2.
반응형

포인트

  • 생각하는 방향으로 코드를 짤 수 있어서 상당히 간편하다. 점점 문제를 읽는 것이 힘들어진다. 독해 능력을 키워야겠다.
  • 닉네임을 최신으로 유지하는 방법으로 해결하였습니다. 어차피 기록은 바뀐 닉네임으로 변경 될테니 닉네임만 최신으로 유지한다면 해결할 수 있는 문제입니다. 

🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. 

python

def solution(records: list) -> list:
    answer = []
    # 정답
    display = []
    # 채팅방 기록 데이터
    nickname = {}
    # uid 마다 닉네임을 저장하는 딕셔너리
    for record in records:
        line = record.split()

        if len(line) == 3:
            command, uid, nick = line
            if not command == 'Change':
                display.append([command, uid])
            nickname[uid] = nick

        elif len(line) == 2:
            command, uid = line
            display.append([command, uid])

    for command, uid in display:
        prefix = str(nickname[uid]) + "님이"
        if command == 'Enter':
            prefix += " 들어왔습니다."
        elif command == 'Leave':
            prefix += " 나갔습니다."
        answer.append(prefix)

    return answer
반응형

'알고리즘' 카테고리의 다른 글

[알고리즘] Running Sum of 1d Array  (0) 2021.05.03
[알고리즘] 괄호 변환  (0) 2021.05.02
[알고리즘] 멀리 뛰기  (0) 2021.05.02
[알고리즘] 야근 지수  (0) 2021.05.02
[알고리즘] 음양 더하기  (0) 2021.04.29

댓글