로또 번호의 matching 여부를 판단하는 문제사내 등급 시험의 영향으로 배열을 활용하게 된다.아직 kotlin의 특성에 익숙치 않다.
아직 사내 시험에 종속되어 있어 Regex를 떠올리지 못했다.Regex 이용을 배웠다.Kotlin에서는 범위를 .. 으로 처리하는 편리함.
함수형 프로그래밍에 대해 가볍게 익힐 수 있는 문제.처음에는 너무나도 C 스럽게 idx계산으로 접근하였다. 위 경우 문자열 길이에 따라 최악으로 O(N)이 걸릴 수 있겠다.
사내 시험의 배열 idx와 class를 이용하는 형태에서 고민하였다.Coordinates를 나타내는 class를 만들고 이를 이차원 배열로 만들어 쉽게 좌표로 표현하려 했으나, 너무 오버하는 느낌이었다.이에 row,col의 idx를 저장한 각 1차 배열로 접근하였다.
Kotlin을 이용해 처음 푼 알고리즘 문제이다.사내 시험은 PriorityQueue, HashMap, List 등을 많이 이용하는데, 이 문제 역시 이를 적용하였다.알파벳을 counting하면서 계속 PriorityQueue에 넣어주었고, 나중에 이를 poll()하면
당연하게 배열 idx로 접근하였다.문제는 맞았지만 다른 사람이 푼 내용이 더 코틀린스럽다.
fun main() { // data var absnum = intArrayOf(1,2,3) var sig = booleanArrayOf(false,false,true) var mSolution = Solution() mSoluti
앞서 풀었던 음양 더하기 문제에서 foldIndexed를 이용하였다.
메모이제이션, dfs, 3중 for문 등을 생각하였다.숫자의 갯수가 50가지라 dsf(= O(2^50))으로는 시간이 오래 걸릴 것 같았다.50^3인 for문으로 접근하였다.소수를 판별하는 것이 중요했는데, 메모이제이션과 비슷한 에라토스테네스의 체를 이용하였다.kotl
Array<IntArray>를 이용하여 idx 접근하였다.역시나 함수형으로 풀 수 있는 문제였다.함수형 풀이는 다음과 같다.map 함수를 이용한다. (Collection transformation operations: map)
map을 사용하였다.kotlin에서 list를 사용할때 빈 list에 plus가 제대로 되지 않는 고충이 있었는데, mutableListOf를 사용해야 함을 알았다.타인의 풀이에서 map에서 max 값이 아닌것을 remove하고 결과 map을 list로 만들고 sort
lost와 reserve 배열에 중복이 발생할 수 있다.이를 없애기 위해 N 크기의 배열을 선언하고 super set을 만들었다.super set에서 최종 lost와 reserve를 확인하고 이를 두 개의 idx를 이동시키며 판단하였다.다른 사람이 푼 내용을 보니 se
Comparable을 상속하는 Data class를 만들어 sorting 시 우선순위를 지정하였다.다른 사람의 답을 보면 class를 다르게 사용하는 방법이 많이 보인다. kotlin 코드 스타일에 대해 더욱더 공부해야할 것 같다.