프로그래머스 - 튜플 (Lv. 2)

OQ·2022년 3월 16일
0

프로그래머스

목록 보기
18/33

문제 링크

풀이

import Foundation

func solution(_ s:String) -> [Int] {
    var args = parse(s)
    var sets: [Int] = []
    
    var count = 1
    while args.count > 0 {
        for (index, arg) in args.enumerated() {
            if arg.count == count {
                for num in arg {
                    if !sets.contains(num) {
                        sets.append(num)
                        break
                    }
                }
                
                args.remove(at: index)
                count += 1
                break
            }
        }    
    }
    
    return sets
}

// "{{20,111},{111}}" -> [[20, 111], [111] 로 변환
func parse(_ s: String) -> [[Int]] {
    var str = s
    str.removeFirst(2)
    str.removeLast(2)
    let arr = str.components(separatedBy: "},{")
    
    return arr.map { $0.components(separatedBy: ",").map { Int($0)! } }
}

후기

풀었지만 아직도 지문이 무슨 내용인지 이해 안가는 문제.
"응? 뭘 이야기하고 싶은거지? 이렇게 풀면 될까? 어? 이게 통과라고?"
이런식으로 풀어져버렸다...
딱히 알고리즘도 필요한 문제도 아니고...
비추천 문제

profile
덕업일치 iOS 개발자

0개의 댓글