답변 2
1
안녕하세요~
먼저 질문을 주셔서 감사드립니다
문제들은 꼭 알아야 하는것만 풀었습니다
어느곳에서나 다루는 문제들이고 문제 지문은 git에 올려놨습니다
아래 사이트를 참조하시면 더 많은 문제가 있습니다
프로그래머크릭, 리코드, 해커랭크, interviewBit, 긱스등 다양한 문제가 시중에 있습니다.
이중에 핵심적인거, 가장 많이 알려진거 꼭 알아야 할 개념문제를 풀어봤습니다.
개념적인거를 알아야 그 비슷한걸 풀수 있기때문이죠
시중문제+카카오 블라인드 출제문제 유형이라고 보시면됩니다. 아래 간략히 설명드리겠습니다.
최근에 카카오코딩 테스트의 경우는
제 강의 목차대로 문제가 나옵니다.
1. String, Array, Map 가지고 노는 문제, 특히 카카오는 Meetingroom 의 문제가 많이 나오더라구요
Comparator를 이용한게 3개나 나왔습니다. PriorityQueue는 단골로 나오죠
2. 큐스택: Queue는 levelOrder문제를 이해해야합니다. 스택은 딱 보고 이거 스택이다 감이 와야겠죠(BaseballGame, 계산기문제)
3. 그래프(dfs, bfs): 당락의핵심이죠
가장 많이 알려진게 numberOf island 눈감고 dfs, bfs로 풀어야합니다. 양쪽다 접근가능해야하고요
카카오고 뭐고 무조건 그래프는 문제는 나옵니다. 배점도 크고
dfs, bfs는 공식이 있습니다. 제강의를 보시면 공식을 만들어 놨습니다. 대입만 하고 문제 접근하시면 됩니다.
출제자가 무궁무궁진하게 낼수가 있기에 ...제일 많이 이용하는게 그래프입니다.
4. 동적프로그래밍(Dynamic Programming): 대표적인게 coinChange를 정확히 이해하셔야죠
다이나믹 프로그램밍은 for문을 2번 돌려서 해를 찾는게 아니라, 정해진 값을 이용해서 topDown, bottomUp방식으로 이미 정해진 길을 찾아내는게 핵심입니다. 가끔 출제되서 사람을 돌게하는 문제가 있지만, dp 냄새가 날경우이거 dp 아닌가 하고 접근하면 됩니다. 물론 시간은 걸리겠지만..
5. 백트랙킹
저는 개인적으로 백트랙킹, 재귀가 힘들었습니다. GenerateParentheses문제는 카카오에서도 그대로 나왔더라구요. 제 강의 보시면 무식하게 호출하는거 다 적어서 백트랙킹 뭔지 , recursive가 어떤 동작하는지 아실겁니다.
감사합니다.
해피코딩하시기 바랍니다.
0