본문 바로가기
코딩테스트

오픈채팅방

by 느림보어른 2021. 6. 1.

문제풀이

def solution(record):
    answer = []
    
    id_dict = {}
    
    systems = []
    
    for log in record:
        logs = log.split()
        
        if logs[0] == "Enter":
            id_dict[logs[1]] = logs[2]
            systems.append([logs[1], "님이 들어왔습니다."])
        elif logs[0] == "Leave":
            systems.append([logs[1], "님이 나갔습니다."])
        else:
            id_dict[logs[1]] = logs[2]
    
    for system in systems:
        answer.append(id_dict[system[0]]+system[1])
    
    return answer

알고리즘

특별한 알고리즘이 필요한 문제는 아니다.

나의 풀이는 ID값을 key로 갖는 dict를 만들어서 여기에 닉네임을 저장하고 수정했다. 그리고 system 배열에 사용자의 id와 행동을 저장했다.

마지막으로 dict에 저장된 정보를 바탕으로 system에 저장된 id와 연결지어 답을 완성했다.

출처

문제: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

'코딩테스트' 카테고리의 다른 글

예상 대진표  (0) 2021.06.03
실패율  (0) 2021.06.03
게임 맵 최단거리  (0) 2021.06.01
3진법 뒤집기  (0) 2021.06.01
키패드 누르기  (0) 2021.05.30