코딩테스트/취업&코테 정보

카카오 코딩테스트 정리

SK_MOUSE 2021. 3. 21. 23:14
반응형

카카오

본 글은 프로그래머스를 기준으로 LEVEL 1, 2, 3 에서 핵심 개념 및 특이사항에 트랜드에 대하여 분석한 글이다.

 

Level 1 : 정규식/String/객체비교/기본 자료구조형(스택,큐)와 같은 1차적인 지식을 바탕으로 풀이.

Level 2 : 자료구조를 기본으로 사용하면서 탐색/계산비교/분리 등을 위주로 풀이한다.

Level 3 : 탐색/순열조합을 기본으로 사용하면서, 특정값들을 모아놓고 최대/최소값을 비교해내어 출력한다.

 

2018~2019 : 신유형이라고 생각될만한 주제를 주고나서, 해당문제에 대하여 구현을 시키는 방식이 많이 제시되었다. ex) Date, 다른곳에서 사용되는 알고리즘

2020~2021 : 문자열을 처리하는 방식에 대한 문제가 증가하였다. 그리고 현업에서 사용될법한 예시를 주어주는 문제가 많이 출제되었다.

ex) replaceAll, 정규식 多출제, 

 

공통적으로 grid와 관련된 문제는 매년 꾸준히 출제되었다.

기존에는 grid는 난이도2정도의 문제였다면 해가 지날수록 다른 순열조합(Permutation), 객체비교(Comparble)와 같은 방식으로 다양화되면서 출제되었다. 이에 따라 난이도도 다양하게 분포되는 양상을 보였다.

 

 

카카오의 코딩테스트는 해가 지날수록 어려워지고있다. 그럼에도 커트라인은 대략 3~4개로 3.5개정도를 맞으면 통과 할수 있다. 따라서 전략적으로 level1과 level2는 모두 풀어낼수있고, level3를 건드리다가 끝나는 정도의 실력을 갖춰야한다.

 

 

  • LEVEL 1

신규 아이디 추천 2021

  • replaceAll 정규식

 

키패드 누르기 2020

  • 객체
  • grid 변형(번호판)

 

크레인 인형뽑기 게임 2019

  • grid 같이 생긴 push pop문제

 

실패율 2019

  • 객체
  • Comparble 오버라이드

 

비밀지도 2018

  • 정규표현식
  • replaceAll

 

다트게임 2018

  • Push Pop

LEVEL 2

메뉴 리뉴얼 2021

  • 순열조합 nCr
  • Map을 이용

 

순위검색 2021

  • Map에 List를 추가하는 방법 : Map<String, List<Double>> map = new Hashmap<>(); 
  • replaceAll을 사용하여 쓸데없는부분 지우고 문자열 자르기.
  • dfs

문자열 압축 2020

  • 문자열 몇개씩 자르는지 탐색
  • 문제를 똑바로 잘 읽을것(앞에서부터 자르는것)

 

괄호변환 2020

  •  분할정복
  • 코드 메뉴얼을 주는 경우, 그대로 따라 구현하기만하면 반은 성공할 수 있다고 본다.
  • 재귀

 

수식 최대화 2020

  • split 다중조건

 


튜플 2019

  • 집합(중복없는)
  • replaceAll을 이용 후 trim.split(","); 와 같이 단축하여 사용
  • Arrays.sort(arr, (a,b) ->{ return a.length()-b.length() }); 오버라이드정렬

 

오픈채팅방 2019

  • Map
  • 문자열 변한/삭제 등은 한꺼번에 마지막에 꼭 필요할때만 처리해야 효율이 좋다.

 

후보키 2019

  • BitMask(이진탐색)방식으로 탐색도 가능
  • 효율 : 완전탐색 > DFS

 


 

뉴스 클러스터링 2018

  • 유사도 검사(교집합)
  • toLowerCase()
  • Ascii코드의 범위
  • 정규표현식 matches 사용

 

캐시 2018

  • LRU 알고리즘(페이지 교체 알고리즘) 제시
  • Queue를 LinkedList로 형변환 가능
  • toLowerCase()
  • 문제 꼼꼼히 읽기

 

압축 2018

  • LZW 알고리즘(Lempel-ZIv-Welch) 무손실 압축 알고리즘
  • map Dictionary 이용
  • 문자열 자르기

 

n진수 게임 2018

  • StringBuilder를 사용하지않으면 시간초과
  • 진수 변환 알고리즘

 

프렌즈 4블록 2018

  • grid 문제 : 한칸씩 순회
  • 애니팡

 

방금 그곡 2018

  • replaceAll을 통해 규칙적인 문자열로 변환하는 아이디어
  • Date
  • 문제를 잘 읽자. 고려해도 되지않아도 될 부분을 캐치.

 

파일명 정렬 2018

  • 정규표현식
  • Comparator 다중조건 비교

  • LEVEL 3

카드짝맞추기 2021

  • 순열조합 Permutation
  • BFS
  • grid형

 

기둥과 보 설치 2020

  • grid형
  • 완전탐색
  • 조건부

 

자물쇠와 열쇠 2020

  • grid 심화(회전체크)
  • 재귀
  • 탐색

추석트래픽 2018

  • 객체 List
  • 완전탐색
  • Date

 

반응형