[νλ‘κ·Έλλ¨Έμ€] Swift μ€νμ±ν λ°© 2019 kakao
λ¬Έμ :
https://programmers.co.kr/learn/courses/30/lessons/42888
μ½λ©ν μ€νΈ μ°μ΅ - μ€νμ±ν λ°©
μ€νμ±ν λ°© μΉ΄μΉ΄μ€ν‘ μ€νμ±ν λ°©μμλ μΉκ΅¬κ° μλ μ¬λλ€κ³Ό λνλ₯Ό ν μ μλλ°, λ³Έλ λλ€μμ΄ μλ κ°μμ λλ€μμ μ¬μ©νμ¬ μ±ν λ°©μ λ€μ΄κ° μ μλ€. μ μ μ¬μμΈ κΉν¬λ£¨λ μΉ΄μΉ΄μ€ν‘ μ€
programmers.co.kr
λΆμ :
νμ€ν swiftλ c++λ³΄λ€ λ¬Έμμ΄ νμ±μ μμ΄μ μ μ©νκ² κ°λ€ ! κ·Έλμ μμ΄λμ΄λ§ μκ°λλ©΄ ꡬννκΈ° μμνλ€λ μκ°μ λ€μνλ² νκ² λμλ€. swift 짱 ..π
μ΄ λ¬Έμ λ λ¬Έμμ΄ νμ± λ° κ΅¬ν λ¬Έμ λ‘, μ€ν μ±ν λ°©μ λ€μ΄μμλ, λκ°μλ, μ΄λ¦μ λ³κ²½νμλμ λͺ λ Ήμ΄λ₯Ό μ²λ¦¬ν΄μ£Όλ©΄ λλ€. κΈ°μ‘΄ ν‘λ°© μ°Έμ¬μκ° μ΄λ¦μ λ³κ²½νκ³ λ€μ λ€μ΄μ€κ² λλ©΄ ν‘λ°©μλ μ μ΄λ¦ -> νμ¬ μ΄λ¦μΌλ‘ κ°μ΄ λ³κ²½μ΄ μ΄λ£¨μ΄μ ΈμΌ νλ€.
λ°λΌμ μ²μμ forλ¬Έμ λλ©΄μ enterμ change λͺ λ Ήμ΄ μ, inputDictionaryμ μ μ₯λμ΄ μλ μ μ λΌλ©΄ μΆλ ₯ λ°°μ΄μ λλ©° νλμ©
replacingOccurrences(of:\(μμ μ΄λ¦), with: \(νμ¬ μ΄λ¦))μΌλ‘ λ체νκ³ μ νμλ€. νμ§λ§ 25λΆν° μ£Όλ₯΄λ₯΅ μκ°μ΄κ³Όκ° λλ€...
κ·Έλμ λ€λ₯Έ λΈλ‘κ·Έλ₯Ό μ°Έκ³ ν΄ μμ΄λμ΄λ₯Ό μ»μλ€.
forλ¬Έμ λκΈ° μ μ inputDictionaryμ λ§μ§λ§ μ΄λ¦μ μ΄κΈ°κ°μΌλ‘ κ°μ§κ² ν λ€, λͺ λ Ήμ΄λ₯Ό μ²λ¦¬ν΄μ£Όλ©΄ enter, changeμ μΆλ ₯λ¬Έ λ΄ κ°μ μμ΄λ κ°μ§ μ¬λμ μ°Ύμ λ체ν΄μ£Όμ§ μμλ λλ€λ μ ..!
μ΄λ₯Ό ν΄κ²°νλ μκ° μ΄κ³Όκ° ν΄κ²° λμλ€. ν΄μ 맡 λ°©μμ΄ forλ¬Έλ³΄λ€ λΉ λ¦μ λλ μ μμλ€.
Swift μκ°μ΄κ³Ό μ½λ :
//
// main.swift
// SOMAπ©π»π»
//
// Created by JoSoJeong on 2022/05/02.
//
import Foundation
var inputDic:[String: String] = [:]
var answer = [(String, String)]()
func reName(_ id: String, _ name: String) {
if inputDic.keys.contains(id) { // idκ° μ μ₯λ μ¬λμ΄λΌλ©΄
for (idx, i) in answer.enumerated() {
if i.1 == id {
answer[idx].0 = i.0.replacingOccurrences(of: "\(inputDic[i.1]!)", with: "\(name)")
}
}
}
inputDic[id] = name
}
func solution(_ record:[String]) -> [String]{
for line in record {
let l = line.components(separatedBy: " ")
let command = l[0]
let id = l[1]
switch command {
case "Enter":
let name = l[2]
reName(id, name)
answer.append(("\(name)λμ΄ λ€μ΄μμ΅λλ€.", id))
case "Leave":
answer.append(("\(inputDic[id]!)λμ΄ λκ°μ΅λλ€.", id))
case "Change":
let name = l[2]
reName(id, name)
default:
print("")
}
}
return answer.map { $0.0 }
}
Swift ν΄κ²° μ½λ :
//
// main.swift
// SOMAπ©π»π»
//
// Created by JoSoJeong on 2022/05/02.
//
import Foundation
func solution(_ record:[String]) -> [String]{
var inputDic:[String: String] = [:]
var answer = [String]()
for line in record {
let l = line.components(separatedBy: " ")
if l.count > 2 {
inputDic[l[1]] = l[2]
}
}
for line in record {
let l = line.components(separatedBy: " ")
let command = l[0]
let id = l[1]
switch command {
case "Enter":
answer.append("\(inputDic[id]!)λμ΄ λ€μ΄μμ΅λλ€.")
case "Leave":
answer.append("\(inputDic[id]!)λμ΄ λκ°μ΅λλ€.")
default:
print("")
}
}
return answer
}
κ²°κ³Ό :