[백준 9375] 패션왕 신해빈

Junyoung Park·2022년 8월 22일
0

코딩테스트

목록 보기
580/631
post-thumbnail

1. 문제 설명

패션왕 신해빈

2. 문제 분석

가능한 조합의 개수 중 알몸인 경우를 빼면 된다. 일단 각 옷의 종류마다 각 종류별 입기 + 안 입기가 가능하기 때문에 곱을 통해 전체 조합의 개수를 구한 뒤, 모두 안 입는 경우 하나를 빼자.

3. 나의 풀이

import Foundation

let clothCount = Int(String(readLine()!))!
var clothDict = [String:[String]]()
var answer = 1

for _ in 0..<clothCount {
    clothDict = [:]
    let N = Int(String(readLine()!))!
    for _ in 0..<N {
        let input = readLine()!.split(separator: " ").map{String($0)}
        let (name, cloth) = (input[0], input[1])
        var clothes = clothDict[cloth] ?? []
        clothes.append(name)
        clothDict[cloth] = clothes
    }
    
    answer = 1

    for key in clothDict.keys {
        let count = clothDict[key]!.count + 1
        answer *= count
    }

    print(answer - 1)
}
profile
JUST DO IT

0개의 댓글