본문 바로가기
Algorithm

SwiftUI: 숫자 짝꿍

by songmoro 2024. 3. 7.
728x90

프로그래머스 숫자 짝꿍

 

문자열 X와 Y에 모두 들어있는 숫자를 모아 가장 큰 수를 반환하는 문제

9부터 0까지 X와 Y에 포함된 수의 개수를 찾아 문자열을 반환하고, 만약 “00”이 된다면 0을 반환하도록 구현

 

func solution(_ X:String, _ Y:String) -> String {
    var answer = "9876543210".reduce("") { partialResult, number in
        let x = X.filter({ $0 == number })
        let y = Y.filter({ $0 == number })
        
        if !x.isEmpty, !y.isEmpty {
            return partialResult + Array(repeating: number, count: min(x.count, y.count))
        }
        
        return partialResult
    }
    
    if answer.isEmpty {
        return "-1"
    }
    
    return Set(answer) == ["0"] ? "0" : answer
}
728x90

'Algorithm' 카테고리의 다른 글

SwiftUI: 로또의 최고 순위와 최저 순위  (0) 2024.03.07
SwiftUI: 문자열 나누기  (1) 2024.03.07
SwiftUI: 체육복  (0) 2024.03.07
SwiftUI: 가장 많이 받은 선물  (1) 2024.02.05
SwiftUI: 크레인 인형뽑기 게임  (1) 2023.12.18