LinkedHashMap
-
[Programmers] Lv1. 달리기 경주(Kotlin)SW Test/Programmers 2023. 4. 11. 01:40
문제 예시 풀이 Hash (map)을 사용하지 않더라도 답을 구할 수는 있습니다. callings에 나온 문자열에 해당하는 index를 indexOf 함수를 이용해서 직접 찾고 이전 값과 swap을 하면 됩니다. 하지만 이 경우 시간복잡도는 callings가 1,000,000 이고 players가 50,000 이여서 시간 초과가 불가피합니다. 따라서 빠른 검색이 가능한 mutableMapOf 함수를 사용하여 index만 빠르게 가져온 후 value 값을 변경하면 됩니다. 참고로 mutableMapOf는 LinkedHashMap을 생성하는 함수로 HashTable 형태로 구현되어 있으며 Double Linked로 Entry를 관리하여 순서도 보장됩니다. class Solution { fun solution..
-
[Programmers] Lv2. 주차 요금 계산(kotlin)SW Test/Programmers 2022. 10. 22. 17:02
문제 예시 풀이 두 개의 map을 통해 하나는 입/출차 기록과 하나는 해당 차량의 전체 시간을 기록하시면 됩니다. import kotlin.math.* class Solution { fun solution(fees: IntArray, records: Array): IntArray { val score = mutableMapOf() var map = mutableMapOf() records.forEach{ record -> val rl = record.split(" ") val time = rl.get(0).split(":").let{ it.first().toInt()* 60 + it.last().toInt()} val num = rl.get(1) if(map.contains(num)){ score.put..