[프로그래머스 LV2] 위장

Junyoung Park·2022년 8월 13일
0

코딩테스트

목록 보기
555/631
post-thumbnail

1. 문제 설명

위장

2. 문제 분석

옷 종류 별 개수를 카운트한 뒤, 가능한 조합의 개수를 고르자. 각 타입의 옷을 안 입을 수도, 모두 입을 수도 있기 때문에 (n+1)을 곱해주었고, 마지막에 모든 옷을 입지 않는 경우의 수 하나를 빼주었다.

3. 나의 풀이

import Foundation

func solution(_ clothes:[[String]]) -> Int {
    var clothDict = [String:[String]]()
    for cloth in clothes {
        let (name, type) = (cloth[0], cloth[1])
        let clothValue = clothDict[type] ?? []
        clothDict[type] = clothValue + [name]
    }
    let values = clothDict.values
    var answer = 1
    
    for value in values {
        let cnt = value.count
        answer *= (cnt + 1)
    }
    answer -= 1
    return answer
}
profile
JUST DO IT

0개의 댓글