Notice
Recent Posts
Recent Comments
Link
250x250
반응형
DecordRay
[프로그래머스] Level2 : 오픈채팅방[Python] 본문
728x90
반응형
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42888
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 :
문자열을 활용한 구현 문제
1. userid에 해당하는 nickname을 저장하기 위한 딕셔너리 생성
첫번째 for 문
2. Enter일때 userid에 해당하는 nickname을 dic[userid]에 저장
3. Change일때 userid에 해당하는 nickname을 dic[userid]에 저장(최신화)
두번째 for 문
4. Enter일때와 Leave일때만 해당하는 userid의 nickname으로 명령어 수행
코드 :
def solution(record):
answer = []
dic = dict()
# Enter일때 dic에 userid에 해당하는 nickname 넣어주기
# Change일때 dic에 userid에 해당하는 nickname 변경해주기
for i in range(len(record)):
order = record[i].split()[0]
if order == 'Enter':
dic[record[i].split()[1]] = record[i].split()[2]
elif order == "Change":
dic[record[i].split()[1]] = record[i].split()[2]
# Enter일때와 Leave일때만 해당하는 userid의 nickname으로 명령어 수행
for i in range(len(record)):
order = record[i].split()[0]
id = record[i].split()[1]
if order == 'Enter':
answer.append(f"{dic[id]}님이 들어왔습니다.")
elif order == "Leave":
answer.append(f"{dic[id]}님이 나갔습니다.")
return answer
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level1 : 삼총사[Python] (0) | 2023.02.02 |
---|---|
[프로그래머스] Level2 : 가장 큰 수[Python] (0) | 2023.01.31 |
[프로그래머스] Level2 : 주식가격[Python] (0) | 2023.01.23 |
[프로그래머스] Level2 : 피로도[Python] (0) | 2023.01.20 |
[프로그래머스] Level2 : 더 맵게[Python] (0) | 2023.01.19 |