프로그래머스 - 완주하지 못한 선수
문제 : https://programmers.co.kr/learn/courses/30/lessons/42576
Swift로 풀 수 있는 문제는 아니지만 그냥 Swift로 풀어본다.
key가 String이고 value가 int인 딕셔너리 dict를 생성한다.
참가자 배열로 for를 돌려 dict[참가자]
에 +1씩 한다.
완주자 배열로 for을 돌려 dict[완주자]
에 -1씩 한다.
value를 기준으로 dict를 정렬시켜 마지막 값을 return한다.
Swift :
import Foundation
func solution(participant: [String], completion: [String]) -> String{
var dict: [String:Int] = [:]
for p in participant{
if let _ = dict[p] {
dict[p] = dict[p]! + 1
}else{
dict[p] = 1
}
}
for c in completion{
dict[c] = dict[c]! - 1
}
let ordered = dict.sorted(by: {$0.value < $1.value })
return ordered.last!.key
}
출처: 프로그래머스 코딩 테스트 연습, 해시 - https://programmers.co.kr/learn/courses/30/lessons/42576