diff --git a/MuchanKim/README.md b/MuchanKim/README.md index ef134df..8b05ac8 100644 --- a/MuchanKim/README.md +++ b/MuchanKim/README.md @@ -5,5 +5,6 @@ | 1차시 | 2025.03.29 | 구현 | [개미](https://www.acmicpc.net/problem/3048)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/3| | 2차시 | 2025.04.11 | 에라토스테네스의채 | [소-난다!](https://www.acmicpc.net/problem/19699)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/10| | 3차시 | 2025.04.29 | 그리디 | [알바생 강호](https://www.acmicpc.net/problem/1758)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/14| +| 4차시 | 2025.05.11 | 구현 | [오픈채팅방](https://school.programmers.co.kr/learn/courses/30/lessons/42888)|https://github.com/AlgoLeadMe/AlgoLeadMe-14/pull/20| --- diff --git "a/MuchanKim/\352\265\254\355\230\204/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251.swift" "b/MuchanKim/\352\265\254\355\230\204/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251.swift" new file mode 100644 index 0000000..903451a --- /dev/null +++ "b/MuchanKim/\352\265\254\355\230\204/\354\230\244\355\224\210\354\261\204\355\214\205\353\260\251.swift" @@ -0,0 +1,59 @@ +import Foundation + +typealias UserID = String +typealias Nickname = String + +enum Action: String { + case enter = "Enter" + case leave = "Leave" + case change = "Change" +} + +func createMessage(_ action: Action, _ userId: UserID, _ userDict: [UserID: Nickname]) -> String? { + guard let nickname = userDict[userId] else { return nil } + + switch action { + case .enter: + return "\(nickname)님이 들어왔습니다." + case .leave: + return "\(nickname)님이 나갔습니다." + default: + return nil + } +} + +func solution(_ record:[String]) -> [String] { + var res: [String] = [] + var userDict: [UserID: Nickname] = [:] + var actions: [(action: Action, id: UserID)] = [] + + for i in 0..