Skip to content

[Algorithm] 오픈채팅방 #25

@hwangJi-dev

Description

@hwangJi-dev

💬 문제

[코딩테스트 연습 - 오픈채팅방](https://school.programmers.co.kr/learn/courses/30/lessons/42888?language=python3)


💬 Idea

  • uid와 nickname이 쌍을 이루는 dictionary를 만들어서 키값에 대한 닉네임이 바뀔 때마다 update를 해준다.
  • 마지막에 배열을 한번 더 순회하면서 dictionary의 값에 해당하는 nickname으로 결과를 도출해준다.

💬 풀이

import Foundation

func solution(_ record:[String]) -> [String] {
    var uidDict: [String: String] = [:]
    var result: [String] = []
    
    for i in record {
        let rec = i.components(separatedBy: .whitespaces)
        if rec[0] != "Leave" {
            uidDict[rec[1]] = rec[2]
        }
    }
    
    record.forEach {
        let rec = $0.components(separatedBy: .whitespaces)
        if rec[0] != "Change" {
            result.append("\(uidDict[rec[1]]!)님이 " + (rec[0] == "Enter" ? "들어왔습니다." : "나갔습니다."))
        }
    }
    
    return result
}

소요시간 : 11분

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions