프로그래머스 - 오픈 채팅
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
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
끝
'프로그래밍 이야기 > 파이썬 코딩 테스트 스터디' 카테고리의 다른 글
파이썬 코딩테스트 스터디 6주차 #3 - 이진 탐색 트리 구현 (1) | 2024.07.22 |
---|---|
파이썬 코딩테스트 스터디 6주차 #2 - 몸풀기 문제 - 트리 순회 (0) | 2024.07.21 |
파이썬 코딩테스트 스터디 5주차 #5 - 할인 행사 (0) | 2024.07.14 |
파이썬 코딩테스트 스터디 5주차 #4 - 완주하지 못한 선수 (1) | 2024.07.14 |
파이썬 코딩테스트 스터디 5주차 #1 - 해시의 개념 및 함수 (1) | 2024.07.14 |