[프로그래머스] 오픈채팅방 - Swift

이창형·2023년 4월 17일
0

문제가 너무 길어 링크로 대체하겠습니다
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
}

회고

  • 단순 구현문제였던 것 같다.
  • 풀려서 기분이 좋다.
  • 종이에 대충 로직을 짜고 구현을 하였더니 좀 더 쉬운것 같다.
profile
iOS Developer

0개의 댓글