티스토리 뷰

728x90

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

 

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

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

programmers.co.kr

 

  • 해설 :

2018년도 카카오 블라인드 1차 코딩테스트 문제이다.

오픈채팅방에 들어오고 나가고 닉네임을 변경하는 유저들에 대해 채팅방에서 안내되는 시스템 메시지를 양식에 맞게 출력하면 된다.

 

 

 

  • 풀이 :

쉬운 구현 문제이다. 핵심은 ID와 닉네임의 관계를 파악하는 것이다. ID는 고유한 값이다. 즉, KEY값으로 ID를 사용하고 VALUE값으로 닉네임을 지정해주면 닉네임이 변경되더라도 고유 ID로 접근하여 변경된 닉네임을 추적할 수 있다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def solution(record):
    answer = []
    users = dict()
    for rec in record:
        command = rec.split()
        if command[0== "Enter":
            users[command[1]] = command[2]
            answer.append(command[1+ "님이 들어왔습니다.")
        elif command[0== "Leave":
            answer.append(command[1+ "님이 나갔습니다.")
        else:
            users[command[1]] = command[2]
    ans = []
    for com in answer:
        c = com.partition("님")
        ans.append(users[c[0]] + c[1+ c[2])
 
    return ans
cs
320x100
댓글
© 2022 WonSeok, All rights reserved