[Programmers/프로그래머스] 2019 KAKAO BLIND RECRUITMENT 오픈채팅방 - Python/파이썬 [해설/풀이]

SihoonCho·2022년 9월 30일
0
post-thumbnail
[Programmers/프로그래머스] 2019 KAKAO BLIND RECRUITMENT [코딩테스트]
  1. [Lv. 2] 오픈채팅방
  2. [Lv. 1] 실패율
  3. [Lv. 2] 후보키
  4. [Lv. 4] 무지의 먹방 라이브
  5. [Lv. 3] 길 찾기 게임
  6. [Lv. 3] 매칭 점수
  7. [Lv. 4] 블록 게임

📌 문제


📝 제한사항


💻 입출력 예


📖 입출력 예에 대한 설명


📌 풀이


def solution(records):
    answer = []
    nicknames = dict()                                      # 아이디 별 닉네임 딕셔너리
    for record in records:                                  # 각 기록에 대해
        words = record.split()                              # 동작, 아이디, 닉네임
        if words[0] == 'Enter' or words[0] == 'Change':     # 닉네임이 결정되는 2가지 경우(Enter, Change)
            nicknames[words[1]] = words[2]                  # 닉네임 갱신

    # 최종 변경된 닉네임이 모두 결정(갱신)되었으므로 기록에 따라 메시지 출력
    for record in records:                                  # 각 기록에 대해
        words = record.split()                              # 동작, 아이디, 닉네임
        if words[0] == 'Enter':
            answer.append(f'{nicknames[words[1]]}님이 들어왔습니다.')
        elif words[0] == 'Leave':
            answer.append(f'{nicknames[words[1]]}님이 나갔습니다.')
            
    return answer
profile
개발을 즐길 줄 아는 백엔드 개발자

0개의 댓글