목록코딩테스트 풀이/카카오 (9)
Simple&Natural
풀이과정) 그냥 느낌 가는대로 사고의 흐름따라 풀었다. 문자열을 원소의 갯수 순서대로 정렬한 후 1개부터 n개까지 비교하면서 어떤 원소가 추가되었는지를 확인한 후 해당 원소를 추가해주는 방식이었다. 하지만 다른 풀이를 보니 매우 효율적인 풀이들이 많았다. 우선 해당 문자열을 모두 해체하여 각 원소들의 갯수를 센다. ex) 1-5개, 2-4개, 3-3개 ... 그 후 갯수에 따라 오름차순으로 정리한 뒤 각 갯수에 해당하는 수를 순서대로 넣어주면 원하는 튜플이 된다. 풀이는 기억나는데 코드를 분실해서 생략...
완전탐색을 이용하였고 Stack을 사용하여 바구니를 구현하였다. 언어: Kotlin 소스코드: 1234567891011121314151617181920212223242526272829303132333435363738394041import java.util.* class Solution { fun solution(dollBox: Array, picker: IntArray): Int { var answer = 0 val basket = Basket() for (pick in picker) { for (dolls in dollBox) { val pickedDoll = dolls[pick-1] if (pickedDoll!=0) { dolls[pick-1] = 0 basket.stack(pickedDoll) br..
2020 카카오 공채 코딩테스트 - 가사검색 코틀린 풀이 최종 풀이는 맨 아래에 있습니다. 최초 풀이과정) 실제 정확도 부분의 정답률은 30%가 넘어가는데 반해 효율성 테스트에서 정답률이 1%가 안되는 문제. queries에 담겨있는 단어를 words의 단어와 하나씩 비교하며 조건을 판단하면 절대 통과를 못할 것으로 예상하여 나름대로 해시맵 구조를 이용해 대상 words의 갯수을 낮추어 보았는데 그래도 효율성에서 1/3밖에 득점하지 못했다. 트라이와 이진탐색을 조합하면 시간복잡도를 낮추는 게 가능한 걸로 보인다. 사용언어 : 코틀린 Kotlin 최초 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31..
풀이과정) 문제에 풀이과정을 친절히 다 써놔서 그냥 순서대로 따라가며 코드로 구현만 하면 되는 문제였다. 재귀함수에 대한 개념을 알아야 풀 수 있는 문제이다. 일단 문제의 포인트를 짚어보자면 1. 균형잡힌 괄호 문자열 2. 올바른 괄호 문자열 이 두 가지를 판단하는 로직을 짤 수 있는가이다. 1번의 경우, "(" 와 ")" 의 갯수를 비교해주면서 두 괄호 요소의 갯수가 최초로 같아지는 시점을 골라내면 된다. 2번의 경우, 괄호 요소는 반드시 "(" 로 시작해야 하며 중간에 나오는 요소들은 한 번이라도 ")" 가 많아지면 안된다. "(" 를 +1로, ")"를 -1로 가정하고 합계가 0보다 작아지는 지점이 존재한다면 이는 올바른 괄호 문자열이 아님을 의미한다. 사용 언어 : Kotlin 풀이) 1 2 3 4..