0. 참조
https://programmers.co.kr/learn/courses/30/lessons/72411
코딩테스트 연습 - 메뉴 리뉴얼
레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서
programmers.co.kr
- Collection > Map // MutableMap
Map // MutableMap 은 key , value 쌍으로 이루어진 자료구조로 key를 참조하여 value를 찾아내는 자료구조이다.
Map은 불변, MutableMap은 가변이다. 따라서 Map은 읽기만 가능, Mutable은 읽기/쓰기 모두 가능 따라서 put 가능 - Collections.forEach { E -> () } : Collection의 모든 원소를 참조해가며 함수 사용.
- Collections.map ( transform : (Entry<K,V> -> R) : transform 함수의 내용을 원소들에 적용시키고 리스트로 반환
val numbers = listOf(1, 2, 3) println(numbers.map { it * it }) // [1, 4, 9]
- Collections.maxByOrNull { selector : (Entry <K,V> -> R)} : 주어진 람다식에서 부합하는 가장 큰 값을 가진 자료형을 반환. 없다면 null을 반환
val nameToAge = listOf("Alice" to 42, "Bob" to 28, "Carol" to 51) val oldestPerson = nameToAge.maxByOrNull { it.second } println(oldestPerson) // (Carol, 51) val emptyList = emptyList<Pair<String, Int>>() val emptyMax = emptyList.maxByOrNull { it.second } println(emptyMax) // null
- List<T>.joinToString(separator = "," , prefix="", postfix="", limit : Int =-1, truncated = "...",
transform ((T)->CharSequence)?=null) : 리스트의 각 원소들을 separator를 껴넣어 String으로 반환 - comb.forEach { it:List<Char> -> val setMenu = it.joinToString("") if (!map.containsKey(setMenu)) map.put(setMenu, 1) else map[setMenu] = map[setMenu]!! + 1 }
'코틀린' 카테고리의 다른 글
[Kotlin/문법] Collection 정렬 (원소가 String, Pair 일 때 등등) (0) | 2021.10.26 |
---|---|
[Kotlin - 프로그래머스 / 순위검색] (0) | 2021.08.31 |
Combination 조합 (0) | 2021.08.25 |
문자열, filter, filterIndexed, replace, substring, last, repeat, isLetter, isDigit, Regex, indexOf, removePrefix/Suffix, removeRange, last, repeat, toSortedSet (0) | 2021.08.24 |
소문자/대문자 치환 (0) | 2021.08.23 |