티스토리 뷰
반응형
문제
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
풀이
들어온 문자열 중 출력해야하는 명령은 큐에 담아 관리했고,
uid와 닉네임 관리는 파이썬의 dictionary 자료형을 사용해서 관리했다.
from collections import deque
def solution(record):
# 큐로 관리
queue = deque()
dic = {}
# 문자열 하나씩
for each in record:
cmd = each.split(" ")[0]
uid = each.split(" ")[1]
if cmd == "Enter":
dic[uid] = each.split(" ")[2]
queue.append([0, uid])
elif cmd == "Change":
dic[uid] = each.split(" ")[2]
else:
queue.append([1, uid])
# 모든 문자열을 다 넣었으면 answer에 담기
answer = []
cmdlist = ["님이 들어왔습니다.", "님이 나갔습니다."]
while queue:
ncmd, nuid = queue.popleft()
# cmd 0: enter, 1: leave
answer.append(dic[nuid] + cmdlist[ncmd])
return answer
* dictionary 복습
선언
dic = {}
append/change
dic[key] = value
접근(키로 밸류 얻기)
dic[key]
dic.get(key)
밸류로 키 찾을땐 포문 돌리기
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 투포인터 알고리즘 파이썬
- 코틀린
- 투포인터 알고리즘
- 전화번호목록 파이썬
- 백준 1806
- 데이터바인딩 뷰바인딩 차이
- 안드로이드
- 코틀린 바텀네비게이션
- 카카오 기출
- 안드로이드 키해시
- TextFormField keyboard
- 카카오 키해시
- 백준알고리즘
- counting sort
- 백준
- 프로그래머스
- flutter simultor
- 코틀린 리스트뷰
- 시뮬레이터 키보드
- 코틀린 데이터바인딩
- 백준 2003
- 소수 구하기 파이썬
- Kotlin
- 코틀린 뷰바인딩
- 코틀린 뷰페이저
- 카카오톡으로 로그인 오류
- kotlin fragment
- 백준 1644
- 안드로이드 카카오톡으로 로그인
- 파이썬 최대공약수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함