https://programmers.co.kr/learn/courses/30/lessons/42888
카카오의 2019 블라인드의 오픈채팅방 문제이다.
입력 : 상호작용(Enter Leave Change) 각 유저의 아이디 닉네임
출력 : "닉네임" 님이 "상호작용" 하였습니다.
[문제풀이]
1. 단순히 문제만 잘 이해한다면 조건문으로 해결 가능한 문제
# record input : 명령어, 유저아이디, 닉네임 한 행
def solution(record):
answer = []
trace = []
map = {}
for i in range(len(record)):
temp = record[i].split(' ')
if temp[0] == 'Enter':
map[temp[1]] = temp[2]
trace.append([temp[0], temp[1]])
elif temp[0] == 'Leave':
trace.append([temp[0], temp[1]])
else:
map[temp[1]] = temp[2]
for i in range(len(trace)):
if trace[i][0] == 'Enter':
result = map[trace[i][1]] + "님이 들어왔습니다."
answer.append(result)
else:
result = map[trace[i][1]] + "님이 나갔습니다."
answer.append(result)
return answer
728x90
반응형
'취업준비 > 코딩테스트' 카테고리의 다른 글
[서평] 《Do it! 알고리즘 코딩 테스트 파이썬 편》 (0) | 2022.08.29 |
---|---|
[백준 15686] 치킨배달 Python 코드 (0) | 2022.06.06 |
Comment