[프로그래머스] 완주하지 못한 선수 Swift

AekT·2021년 10월 23일
0

프로그래머스

목록 보기
1/6
post-thumbnail
post-custom-banner

프로그래머스 - 완주하지 못한 선수

문제 : 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

profile
으악
post-custom-banner

0개의 댓글