문제가 너무 길어 링크로 대체하겠습니다
https://school.programmers.co.kr/learn/courses/30/lessons/42888
import Foundation
func solution(_ record:[String]) -> [String] {
// uuid와 닉네임을 저장하기 위한 딕셔너리
var dic = [String : String]()
var answer = [String]()
// 문자열을 나눠서 uuid와 닉네임을 저장한면서
// change가 나오면 uuid에 맞춰 닉네임을 변경해준다.
for i in record {
let spl = i.split(separator: " ")
if spl[0] == "Enter" {
let uuid = spl[1]
let nickname = spl[2]
dic[String(uuid)] = String(nickname)
} else if spl[0] == "Change" {
let uuid = spl[1]
let nickname = spl[2]
dic[String(uuid)] = String(nickname)
}
}
// enter일때와 leave일때 출력을 다르게 해준다.
for i in record {
let spl = i.split(separator: " ")
let uuid = spl[1]
if spl[0] == "Enter" {
answer.append("\(dic[String(uuid)]!)님이 들어왔습니다.")
} else if spl[0] == "Leave" {
answer.append("\(dic[String(uuid)]!)님이 나갔습니다.")
}
}
return answer
}