728x90
안녕하세요 코코종입니다.
어렵지 않으니 바로 갑니다.
import Foundation
func solution(_ clothes:[[String]]) -> Int {
// idea: (갯수+1)씩을 곱하고 -1해주기(아무것도 안입은 경우)
var answer = 1
var dict: [String : Int] = [:] // 카테고리명 : 갯수
for cloth in clothes {
let category = cloth[1]
var cnt: Int = dict[category] ?? 0
dict[category] = cnt + 1
}
dict.forEach { k, v in
answer *= (v+1)
}
answer -= 1 // 아무것도 안입는 경우
return answer
}
어떻게 계산하느냐의 문제인데요. 모자 2개 옷 2개인 경우에 카테고리에서 입지 않는경우를 추가해주면 (2 + 1)*(2 + 1) 을 하면 모든 가짓수가 나오게 되는데요. 이때 한개 이상은 입어야하므로 (경찰 아저씨가 잡아가요 😂) -1 을 해줬습니다
딕셔너리에 key - value로 저장하고 꺼내쓰는 간단한 문제였습니다.
728x90
'알고리즘' 카테고리의 다른 글
[Swift 알고리즘] 프로그래머스 - 기능개발 (0) | 2023.05.07 |
---|---|
[Swift 알고리즘] 프로그래머스 - 다리를 지나는 트럭 (0) | 2023.05.06 |
[Swift 알고리즘] 프로그래머스 - 예상 대진표 (0) | 2023.05.04 |
[Swift 알고리즘] 프로그래머스 - 영어 끝말잇기 (0) | 2023.05.04 |
[Swift 알고리즘] 프로그래머스 - 배달 (0) | 2023.05.02 |