반응형
def solution(record):
answer = []
id_nic={}
# uid / 닉네임 딕셔너리 생성
for i in range(len(record)):
temp=record[i].split(" ")
if temp[0]!="Leave":
id_nic[temp[1]]=temp[2]
# 결과값 출력
for i in range(len(record)):
temp=record[i].split(" ")
if temp[0]=="Enter":
answer.append(id_nic[temp[1]]+"님이 "+"들어왔습니다.")
elif temp[0]=="Leave":
answer.append(id_nic[temp[1]]+"님이 "+"나갔습니다.")
return answer
아이디어
- Enter 혹은 Change를 할 때만 닉네임이 바뀝니다.
- Enter, Change가 있는 경우에 id (temp[1])를 key로 갖고, 닉네임 (temp[2])을 value로 갖는 딕셔너리를 만들어줍니다.
- 이 때 key가 중복되면 (유저가 닉네임을 변경한 경우) 새로운 value로 업데이트 됩니다.
python 개념
1) 문자열 구분자로 나누기
2) 문자열 붙히기
반응형
'프로그래밍 > 알고리즘 문제' 카테고리의 다른 글
[BOJ 15658] 연산자 끼워넣기(2) - python (4) | 2019.09.24 |
---|---|
[프로그래머스] kakao 2018 코딩테스트 - 후보키 (python) (4) | 2019.09.04 |
[프로그래머스] KAKAO 2018 코딩테스트 - 실패율 (python) (2) | 2019.09.02 |
[프로그래머스] 해시 - 전화번호 목록 (python) (2) | 2019.08.28 |
[프로그래머스] 해시 - 완주하지 못한 선수 (python) (2) | 2019.08.27 |
댓글