[Level 2] 튜플 + Swift

sanghee·2021년 11월 16일
0

🙈코딩테스트

목록 보기
45/52
post-thumbnail

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/64065?language=swift

문제

특정 튜플을 표현하는 집합이 담긴 문자열 s가 매개변수로 주어질 때, s가 표현하는 튜플을 배열에 담아 return 하도록 solution 함수를 완성해주세요.

입력

let s = "{{2},{2,1},{2,1,3},{2,1,3,4}}"

출력

[2, 1, 3, 4]

문제 풀이

func solution(_ s:String) -> [Int] {
    var result: [String] = []
    var s = s
    s.removeFirst(2)
    s.removeLast(2)
    
    s
        .components(separatedBy: "},{")
        .map { $0.components(separatedBy: ",") }
        .sorted { $0.count < $1.count }
        .forEach {
            $0.forEach {
                if !result.contains($0) {
                    result.append($0)
                }
            }
        }
    
    return result.map { Int($0)! }
}
profile
👩‍💻

0개의 댓글