요구능력 : Dictionary
코드설명 :
옷 입는 경우의수다.
상의 반팔티, 후드티, 맨투맨
하의 청바지, 슬렉스, 조거팬츠
위와 같이 있으면 옷을 입는 총 경우의 수는 9가지이다.
하지만 이 문제에서는 하나만 입는 경우의 수도 셌으므로
상의 반팔티, 후드티, 맨투맨, 안입음
하의 청바지, 슬렉스, 조거팬츠, 안입음
안입음까지 포함시켜줘야하고,
둘다 안입는 경우는 포함안시키기에 -1을 해줘야한다.
나는 dictionary를 활용해서 dictionary가 비어있지 않으면 1을 더해줬고 비어있으면 2로 초기화했다.
2로 초기화 한 이유는 dict[바지] 이면 현재 for문을 돌고있는 clothes의 원소중 바지하나가 도는것이기 때문에 현재바지 1개 + 안입음 1개 해서 2로 초기화했다.
그리고 결과값을 저장할 때 *=을 이용해서 경우의수를 곱해줬고 마지막에 1을 뺌으로써 모두 안입음의 경우를 빼주었다.
후기 : 딕셔너리 활용할줄 알면 쉬운문제
func solution(_ clothes:[[String]]) -> Int {
var result = 1
var dict = [String: Int]()
for i in clothes{
if dict[i[1]] != nil {
dict[i[1]]! += 1
}else{
dict[i[1]] = 2
}
}
for v in dict.values{
result *= v
}
result -= 1
return result
}
'Algorithm > 문제풀이_프로그래머스' 카테고리의 다른 글
[Swift][소수][LV_2] K진수에서 소수개수 구하기 (0) | 2022.02.25 |
---|---|
[Swift][누적합][LV_3] 파괴되지 않은 건물 (0) | 2022.02.24 |
[Swift][프로그래머스][LV_2] 양궁대회 (0) | 2022.02.22 |
[Swift][프로그래머스][LV_2] 주차 요금 계산 (0) | 2022.02.21 |
[Swift][프로그래머스][LV_1] 신고결과받기 (0) | 2022.02.19 |
댓글