[브루트포스] PRG 42888: 오픈채팅방
사용 언어: python 3.9.5
❓ Problem
문제 설명
https://programmers.co.kr/learn/courses/30/lessons/42888
오픈채팅방 출입문구 작성
난이도
레벨 2
🚩 Solution
시도 01)
1. 접근법
딕셔너리 {유저아이디: 닉네임}
record를 2번 돈다.
1번째
enter, change만 확인: 각 유저아이디에 닉네임 적기
2번째
enter, leave만 확인: result 문구 작성
2. 코드
import collections
def solution(record):
record = list(map(lambda x: x.split(), record))
d = collections.defaultdict(str)
# 딕셔너리에 유저아이디: 닉네임 적기
for i in range(len(record)):
if record[i][0] == "Leave":
continue
else:
d[record[i][1]] = record[i][2]
# 문구 작성
answer = []
for i in range(len(record)):
if record[i][0] == "Enter":
answer.append(str(d[record[i][1]])+"님이 들어왔습니다.")
elif record[i][0] == "Leave":
answer.append(str(d[record[i][1]])+"님이 나갔습니다.")
return answer
3. 시간복잡도
배열 훑어보기
4. 결과
1회 시도 성공
5. 소요 시간
시작: 21.09.13 11:11
끝: 21.09.13 11:23
📕 피드백
1. 검색한 내용
2. 실수
3. 발전 방향 (개선/추가사항)
굳이 defaultdict를 안 써도 된다.
4. 다른 사람 풀이
풀이1)
-
접근법
나와 같음
Author And Source
이 문제에 관하여([브루트포스] PRG 42888: 오픈채팅방), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ember/브루트포스-PRG-42888-오픈채팅방저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)