위장이 아픈 당신에게 ... 에헴...
fun solution(clothes: Array<Array<String>>): Int {
//1. 옷의 종류별로 구분한다.
val map = HashMap<String, Int>()
for (clothe in clothes) {
val type = clothe[1]
map[type] = map.getOrDefault(type, 0) + 1
}
//2. 입지 않는 경우를 추가해서 모든 조합을 계산한다.
val it: Iterator<Int> = map.values.iterator()
var answer = 1
while (it.hasNext())
answer *= it.next() + 1
// 3. 아무종류도 잆지 않는 경우를 제외한다.
return answer - 1
}
fun main(){
println(solution(arrayOf(arrayOf("yellowhat","headgear"),
arrayOf("bluesunglasses", "eyewear"),
arrayOf("green_turban", "headgear"))))
}
위에는 java 라이브러리를 사용했기에 scope kotlin을 사용해보자
fun solution(clothes: Array<Array<String>>): Int {
var answer = 1
val map = HashMap<String, Int>()
for (cloth in clothes) {
map[cloth[1]]?.let { map.put(cloth[1], it + 1) } ?: map.put(cloth[1], 1)
}
for (i in map) { answer *= (i.value +1)}
return answer - 1
}
fun main(){
println(solution(arrayOf(arrayOf("yellowhat","headgear"),
arrayOf("bluesunglasses", "eyewear"),
arrayOf("green_turban", "headgear"))))
}