프로그래밍 이야기/파이썬 코딩 테스트 스터디
파이썬 코딩테스트 스터디 5주차 #6 - 오픈 채팅
hoony926
2024. 7. 20. 11:31
프로그래머스 - 오픈 채팅
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
record | result |
[ "Enter uid1234 Muzi", "Enter uid4567 Prodo", "Leave uid1234", "Enter uid1234 Prodo", "Change uid4567 Ryan" ] |
[ "Prodo님이 들어왔습니다.", "Ryan님이 들어왔습니다.", "Prodo님이 나갔습니다.", "Prodo님이 들어왔습니다." ] |
Enter랑 Change만 3단어로 묶여있고
Leave는 2단어 되어있기 때문에
if len(li) ==3이라고 썼다.
Dictionary 특성상 1개의 키값에 1개의 값만 저장이 되기 때문에
나중에 입력된 Key, Value 쌍으로 저장.
이 부분을 활용해서 간단히 푼 문제
문장.split()을 쓰면 띄어쓰기가 default로 되고
split('/') 슬래쉬, split(',') 콤마 이런식으로 사용할 수 도있다.
def solution(record):
answer = []
dict = {}
for i in record :
li = i.split()
if len(li) == 3: #enter or change
dict[li[1]] = li[2]
for i in record :
li = i.split()
if li[0] =="Enter":
answer.append(dict[li[1]]+"님이 들어왔습니다.")
elif li[0] == "Leave" :
answer.append(dict[li[1]]+"님이 나갔습니다.")
return answer
끝