Algorithm/Programmers

[Programmers] Lv2. 오픈채팅방

by somida 2021. 5. 24.

문제

바로가기

 

코딩테스트 연습 - 오픈채팅방

오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오

programmers.co.kr

 

풀이

  • 먼저, record를 돌면서 들어오거나 변경되는 유저의 아이디와 닉네임을 딕셔너리에 저장하는 과정을 거침
  • 그러면 변경된 이름도 적용되어 있기 때문에, 다시 배열을 돌면서 Enter와 Leave에 해당하는 메시지를 남길 수 있음

 

코드

def solution(record):
    answer=[]
    nickname = {}
    for i in [i.split(' ') for i in record]:
        if i[0] != 'Leave':
            nickname[i[1]] = i[2]
    for i in [i.split(' ') for i in record]:
        if i[0] == 'Enter':
            answer.append(nickname[i[1]] + '님이 들어왔습니다.')
        if i[0] == 'Leave':
            answer.append(nickname[i[1]] + '님이 나갔습니다.')
    return answer
반응형

'Algorithm > Programmers' 카테고리의 다른 글

[Programmers] Lv2. 문자열 압축  (0) 2021.05.24
[Programmers] Lv2. 더 맵게  (0) 2021.05.24
[Programmers ] Lv2. 타겟 넘버  (0) 2021.05.24
[Programmers] Lv2. 기능개발  (0) 2021.05.20
[Programmers] Lv2. 짝지어 제거하기  (0) 2021.05.20

댓글