๐Ÿ“ ์ฝ”ํ…Œ/BOJ

[Swift] ๋ฐฑ์ค€9375 ํŒจ์…˜์™• ์‹ ํ•ด๋นˆ

JerryiOS 2023. 4. 14. 05:52

import Foundation

let T = Int(readLine()!)!

for _ in 0..<T {
    let n = Int(readLine()!)!
    var clothes: [String: Int] = [:]
    
    for _ in 0..<n {
        let input = readLine()!.components(separatedBy: " ")
        let name = input[0]
        let kind = input[1]
        clothes[kind, default: 0] += 1
    }
    
    let res = clothes.values.reduce(1) { $0 * ($1 + 1) } - 1
    
    print(res)
}

๊ฐ™์€ ์ข…๋ฅ˜์˜ ์˜ท ๊ฐœ์ˆ˜๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€ ๋ถ„๋ฅ˜ํ•˜๊ณ 

๊ฐ ์ข…๋ฅ˜๋ณ„ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณฑํ•˜๊ณ 

๋ชจ๋‘ ์ž…์ง€ ์•Š์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋นผ์ค€๋‹ค.

์˜ˆ๋ฅผ๋“ค๋ฉด

["headgear": ["hat", "turban"], "eyewear": ["sunglasses"]]

์ด๋Ÿฐ ๊ฒฝ์šฐ

headgear์—์„œ hat, turban, ์•ˆ์ž…์€ ๊ฒฝ์šฐ -> (2+1)๊ฐ€์ง€

eyewear์—์„œ sunglasses, ์•ˆ์ž…์€ ๊ฒฝ์šฐ -> (1+1)๊ฐ€์ง€

 

์ด๋Ÿฐ์‹์œผ๋กœ ์•ˆ์ž…์€ ๊ฒฝ์šฐ๋„ ๊ณ ๋ คํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ์ฐจํ•จ์ˆ˜์—์„œ ($1 + 1)์„ ๊ณฑํ•˜๋„๋ก ํ•ด์ฃผ์—ˆ๋‹ค.

๋ฐ˜์‘ํ˜•