KAKAO
-
[KAKAO] 가사 검색 - 트라이, 이분탐색 (2020 KAKAO BLIEND)KAKAO/level 4 2021. 9. 8. 15:27
이번주 카카오 블라인드와 라인 코딩테스트 일정이 겹쳐 다시 코딩테스트를 준비해봤다. 이미 풀었던 문제지만, 내가 예전보다 더 비효율적으로 푼 문제들도 있었고, 개선된 코드들도 있었다. 트라이 자료구조도 감을 잃지 않게 연습해봤다. (트라이는 파이썬이 진짜.. 편한듯?) O(N)으로 문자열이 있는지 없는지 탐색할 수 있지만, 공간복잡도는 ㄷ..ㄷ... 공간복잡도가 어마어마하기에 옛날 친구가 이분탐색으로 풀었다고 한 것을 얼추 들어, 이분탐색으로 풀고자 했다. 생각해보니 이분탐색이면 시간 + 공간 둘 다 축소시킬 수 있을 것 같았고, 해당 곰곰히 생각하다가 이분탐색으로 풀어봤다. 역시나 결과적 으로도 시간 복잡도와 공간 복잡도는 아래와 같이 차이가 심했다... 효율성에서 시간은 많게는 100배 정도 차이가 ..
-
[KAKAO] 기둥과 보 (2020 KAKAO BLIND)KAKAO/level 3 2021. 7. 25. 22:20
최근 여행을 갔다 온 뒤 다시 코딩을 하니 집중이 잘 되는 것 같다. 최근에 산 IMac도 왔기 때문에 더욱 코딩 할 맛이 나는듯 하다. 알고리즘을 많이 쉰 듯해서 다시 꾸준히 하루 한 문제라도 풀려고 한다. 저번에 못 풀었던 카카오 블라인드 문제들을 다시금 봤다. 겁먹지말고 일단 문제에서 하라는 대로 해보자.. 라는 식으로 몇 문제를 풀었는데, 이 문제는 풀릴 듯 하면서도 안 풀리는게 참.. 시간을 많이 잡아 먹었다. 조건들이 많이 까다로웠고, 생각을 좀 많이 한 뒤 코딩을 하자.. 느꼈다. 코드를 짜는 시간보다 디버깅의 시간이 더 오래걸렸고 몇 번이나 지우고 다시 썼는지 모르겠다. ㅋㅋ 사람들이 생각보다 많이 푼 문제이기도 해서 별 걱정없이 손 댔는데도 많아도 50점(100점 만점) 정도가 나왔던 것..
-
[KAKAO] 동굴탐험 (2020 KAKAO 인턴십)KAKAO/level 4 2021. 5. 7. 11:30
조만간 코딩 테스트가 있기도하고, 감이 좀 무뎌진것 같아 프로그래머스나 백준의 문제들을 풀었다. 요즘은 새로운 문제들을 풀기 앞서 좀 더 기초를 다지는 느낌으로 풀었던 문제들을 다시 효율적이고 빠르게 풀어보는 연습을 하고 있는 중이다. 옛날 C++로 풀었던 삼성 구현 문제들도 풀어보고, 카카오 관련 구현 + 알고리즘 문제들을 풀었다. 문제를 풀면서 느끼는 바로는 각 기업만의 색깔이 문제에서 묻어나는 듯 했다. 뭔가 삼성은 풀 집중력으로 어떻게든 디버깅과 구현을 한다면 풀 수 있는 느낌이 강했고, 카카오는 생각이 떠오르지 않으면 못 푸는 문제들도 있었고 효율성 문제들은 +a 까지 생각 해줘야하는 문제들이 많았다. 삼성 문제들을 풀면서 각 문제의 복잡한 요구사항들을 시뮬레이션 하며, 머릿속으로 그려보는 연습..
-
[KAKAO] 추석 트래픽 (2018 KAKAO BLIND)KAKAO/level 3 2021. 3. 31. 13:10
프로그래머스의 카카오 문제들은 구현 난이도가 높고, 문제가 깔끔하다고 생각해서 몇 번을 풀 예정이었다. 어려웠던 문제는 한 3~4번 정도 풀어볼 예정이다. 백준에서 문제를 풀다가 다시 넘어와서 프로그래머스 문제들을 다시 풀어보면서 옛날의 코드들과 비교해봤다. 대부분 문제들에서 옛날에 짠 코드들보다 개선되었음을 느꼈지만, 몇몇 문제들은 예전의 코드들이 낫기도 했다. 쉬웠던 문제들은 파이썬에 슬슬 적응 해 가면서 푸는 속도가 올라간 것 같지만, 어려운 문제들은 생각하는 데 똑같이 시간이 걸리긴 했다. 이번 문제는 디버깅이 좀 어려웠던 것 같다. 문자열에서 숫자로 바꾼 뒤, 크기를 비교하려 했지만 하나하나 비교하려다 보니 눈 빠지는 줄 알았다... 디버깅 하면서 알아낸건 문제를 잘못 읽은 것을 알게되었다,,,..
-
[KAKAO] 순위검색 (2021 KAKAO BLIEND)KAKAO/level 2 2021. 3. 1. 18:53
한 달전 부터 일주일 간 계속해서 이 문제를 풀기 위해서 도전했지만.... 시간초과와 자료구조를 어떻게 해야할 지 몰라 굉장히 어려웠다. 뭔가 카카오 문제들은 스스로 풀어보고 싶었고, 대부분 이런 구현 관련 문제였기 때문에 더욱 그랬다. 오늘 이 문제를 풀 것이라 다짐하고 앉아서 곰곰히 생각해봤지만, 도저히 엄두가 안 났던 것 같다. 생각해낸 무식한 방법들이 있었지만 '설마' 라고 생각만하고 말았던 것이다. (물론, 내가 푼 풀이와 같지는 않았다.) 그래서 조언을 얻고자 친구한테 힌트를 달라고 했다.. 내 궁금증을 바로 풀어주는 힌트였기도 했고 사실상 문제를 출제한 사람의 의도이기도 했던 것 같다. 받은 힌트 : 'java backend junior chicken' 으로 들어온 information 을 ..
-
[KAKAO] 자물쇠와 열쇠 (2020 KAKAO BLIND)KAKAO/level 3 2021. 2. 19. 14:07
몇 주전에 이 문제를 봤을 때 브루트포스 인걸 알았지만, 탐색할 때 백트래킹으로 해야한다고 생각했다. 그래서 삼성 SW 기출문제를 몇 개 풀어보고 최근에 다시 와서 봤다. 문제를 보자마자 아무 생각 없이 백트래킹으로 짜봤는데.. 아직 실력이 부족한 지 시간초과가 계속 뜨긴 했다. 이유는 디버깅을 통해 알았지만, 디버깅을 하면서 이 문제를 백트래킹이 아닌 이중 포문으로 탐색해도 될 것 같다는 느낌이 들었다. 문제를 풀 때마다 느끼는건 어떻게 문제를 접근하냐에 따라서 잘못된 방향으로 빠져버리면 시간을 엄청 잡아먹는다. 어찌보면 수능 수학,과학과 비슷하게 느껴질 순 있다.. 저 시기를 뒤돌아 봤을 때 많은 문제를 푸는것 만큼 좋은게 없던 것 같다. 몰랐던 부분들을 하나 둘, 오답노트를 만들어가며 부족한 것을 ..
-
[KAKAO] 보석쇼핑 (2020 KAKAO 인턴십)KAKAO/level 3 2021. 2. 18. 21:35
어느 순간 level3문제를 풀다가 문득 너무 어렵다고 느껴져 백준 온라인으로 넘어갔다. 거기서 특정 알고리즘 bfs, dfs, 투포인터, greedy, dijkstra, 등 쉬운 몇 문제들을 풀었다. 아직 알고리즘 부분에서 부족한 것들이 많게 느껴져서 기초를 잡고자 함이었다. 다시 돌아와서 확실히 문제들을 풀어보니 문제를 읽다가 어떤 알고리즘으로 풀어야겠다! 라고 생각이 점점 나기 시작했다. 이번문제의 알고리즘은 투포인터 알고리즘으로 풀 수 있었다. 중간에 계속 틀려서 잠시 dp로 풀수도 있을까 생각 했지만 내 로직이 틀렸던 것 같아 계속 수정해서 해봤더니 맞았다. 투포인터 알고리즘 정리할겸 간단하게 요약해봐야겠다. 긴 배열에서 연속된길이를 구할 때 특정조건을 만족시키면서 배열을 O(N)번만 탐색 가능..
-
[KAKAO] 경주로 건설 (2020 KAKAO 인턴십)KAKAO/level 3 2021. 2. 17. 01:30
주로 프로그래머스에서 문제를 풀게되면 카카오 관련 문제들이 많다. level 2부터 계속 풀어 왔지만, 다른 문제들보다 유난히 구현이 어렵고 문제 읽는 양 자체가 많았다. 좋은 문제들이 참 많다고 생각 했고, 어떤 응용 문제들이 많이 나오는지 정리하기 위해 KAKAO 카테고리를 따로 놨다. level2 문제들이 구현에 치중된것이라고 본다면, level3 부터는 기본적인 알고리즘이 동반되어야 풀 수 있고, 어느정도의 센스가 필수적이라 생각한다. (개인적으로 센스는 문제들을 많이 풀어보고 디버깅을 해봄으로써 는다고 생각한다.) 미리 풀었던 문제들도 있기에 그 문제들은 다시 풀어보면서 블로그에 정리할 생각이다. 우선, 경주로 건설을 보자. programmers.co.kr/learn/courses/30/less..