728x90
시간 초과가 5개 정도 에서 났다. 그래도 알고리즘을 짠 거에 만족한다. 딕셔너리를 이용하면 시간 초과가 나지 않는 것 같다.
def solution(record):
answer = []
member_id = [ ]
member_name = [ ]
for i in range(0,len(record)):
k = record[i].split(" ")
if k[0]=="Enter" or k[0]=="Change":
id = k[1]
name = k[2]
if id in member_id:
member_name[member_id.index(id)] = name
else:
member_id.append(id)
member_name.append(name)
# 각 member 별 최신 닉네임 업데이트 완료
for i in range(0,len(record)):
k = record[i].split(" ")
if k[0]=="Enter":
answer.append(str(member_name[member_id.index(k[1])])+"님이 들어왔습니다.")
elif k[0]=="Leave":
answer.append(str(member_name[member_id.index(k[1])])+"님이 나갔습니다.")
return answer728x90
'🟢 알고리즘 문제 풀이 > Programmers' 카테고리의 다른 글
| [파이썬] 프로그래머스 완주하지 못한 선수 (0) | 2023.02.24 |
|---|---|
| [파이썬] 프로그래머스 폰켓몬 (0) | 2023.02.24 |
| [파이썬] 프로그래머스 전화번호 목록 (0) | 2023.02.19 |
| [파이썬] 프로그래머스 영어 끝말잇기 (0) | 2023.02.18 |
| [파이썬] 프로그래머스 [1차] 뉴스 클러스터링 (0) | 2023.02.17 |