Algorithm/programmers
프로그래머스 오픈채팅방 파이썬 // 해쉬맵
Mini_96
2023. 7. 13. 10:38
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
* 의사코드
- 해쉬맵에 {uid : 최종닉네임} 으로 저장한다.
1. split해서 2차원배열에담기
2. Enter,Change 일때마다 닉네임바꿔주기 => 해쉬맵에는 최종닉네임 저장됨
3. uid에 맞는 최종닉네임들 출력
def solution(record):
answer = []
m=dict()
records=[]
# for i in range(10):
# records.append([])
for str in record:
temp=str.split(' ')
#print(temp)
records.append(temp)
#print(records)
#############입력끝#################
for v in records:
#print(v[0])
if(v[0]=='Enter'):
m[v[1]]=v[2]
elif(v[0]=='Change'):
m[v[1]]=v[2]
elif(v[0]=='Leave'):
pass
#print(m)
##############해시맵에 최종닉넴저장 끝#########
for v in records:
if(v[0]=='Enter'):
answer.append(m[v[1]]+"님이 들어왔습니다.")
elif(v[0]=='Change'):
pass
elif(v[0]=='Leave'):
answer.append(m[v[1]]+"님이 나갔습니다.")
#print(records)
#print(p(record))
# for cmd, uid, nick for record:
# print(cmd, uid, nick)
return answer