inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

5-8. 카카오 추가 코딩 테스트 - 1

코테 준비

해결된 질문

76

김마루

작성한 질문수 3

0

안녕하세요!
현재 코딩테스트 준비중인 학생입니다.

 

백준에서 현재 문제 유형 별로(DFS, 백트래킹 등등..) 풀어 보고 있습니다.

문제는 구현같은 유형은 몰라도 풀 수 있지만 DP, N-queen문제는 해당 문제를 접해보지 않고서는 풀기 힘들다고 생각합니다.

하루에 한 유형씩 제대로 이해하기 vs 한 유형만 쭉 풀어서 마스터하기 둘 중에 어떤게 더 좋은 접근법이라고 생각하시나요?

막상 유형별로 풀자니 구현, DFS, BFS, DP유형이 코테에 많이 보이는거같아서 고민입니다.

python 코딩-테스트 알고리즘 data-structure

답변 3

0

딩코딩코

김마루님 정말 좋은 고민을 하고 계시네요! 많은 분들이 똑같은 고민을 하는데, 사실 이 질문 자체가 이미 학습에 대해 진지하게 생각하고 계시다는 것 같아 응원합니다!!

 

1. DP와 N-queen이 어려운 건 당연합니다

구현 문제는 몰라도 풀 수 있지만 DP나 N-queen은 접해보지 않으면 어렵다고 느끼신 거, 정말 정상적인 반응이에요. 왜냐면 이 문제들은 특정한 사고방식과 패턴을 알아야 접근 자체가 가능한 유형이거든요.

구현 문제는 문제에서 요구하는 대로 순서대로 코드로 옮기면 되는 경우가 많아요. 그런데 DP는 "이 문제를 작은 문제로 쪼갤 수 있는가", "이전에 계산한 값을 재사용할 수 있는가"라는 관점으로 문제를 바라봐야 하고, N-queen은 백트래킹이라는 완전히 다른 탐색 전략을 알아야 해요. 처음 보면 어떻게 접근해야 할지 막막한 게 당연합니다.

 

2. 두 접근법의 장단점 - 현실적으로 보면

하루에 한 유형씩 제대로 이해하는 방법은 넓고 얕게 배우는 방식이에요. 여러 유형을 빠르게 접해볼 수 있다는 장점이 있지만, 각 유형에 대한 깊이가 부족할 수 있어요. 특히 DP처럼 여러 번 풀어봐야 패턴이 보이는 유형은 하루만 공부하고 넘어가면 나중에 다시 막막해질 가능성이 높아요.

한 유형만 쭉 풀어서 마스터하는 방법은 깊고 좁게 배우는 방식이에요. 해당 유형에 대한 확실한 자신감을 얻을 수 있지만, 실제 코테에서는 여러 유형이 골고루 나오기 때문에 다른 유형을 나중에 봤을 때 시간이 부족할 수 있어요.

그런데 말씀하신 것처럼 "구현, DFS, BFS, DP 유형이 코테에 많이 보인다"는 게 핵심이에요. 이 말은 이 유형들에 더 많은 시간을 투자해야 한다는 뜻이거든요.

 

3. 제안드리는 절충안 - 전략적으로 접근하기

현실적으로 효과적인 방법을 제안드리자면, 유형의 중요도와 난이도를 고려한 전략적 접근을 추천드립니다

출제 빈도가 높은 핵심 유형인 구현, DFS/BFS, DP는 집중적으로 파고드세요. 이 유형들은 3-5일 정도 시간을 투자해서 최소 10-15문제씩은 풀어보는 게 좋아요. 특히 DP는 처음엔 정말 막막하지만, 비슷한 문제를 5개 정도 풀고 나면 "아, 이런 느낌이구나"하는 순간이 와요.

출제 빈도가 중간인 유형들은 기본 개념을 확실히 잡고 대표 문제 3-5개 정도 풀어보세요. 그리디, 이분탐색, 투 포인터 같은 유형들이 여기 해당해요.

출제 빈도가 낮은 특수한 유형들은 나중에 시간 여유가 있을 때 보는 게 현명해요. 일단 코테를 통과하는 게 목표라면, 나올 확률이 높은 것부터 확실하게 잡는 게 전략적으로 맞거든요.

 

4. 구체적인 학습 루틴 제안

이번 주엔 이렇게 시작해보세요. 월요일부터 수요일까지는 DFS/BFS 집중 기간으로 정하고, 하루에 2-3문제씩 푸세요. 강의 자료에서 제시한 4단계 방법을 따라가면서요. 자료구조를 정하고, 패턴을 파악하고, 코드로 구현하고, 리팩토링하는 과정이요.

막히는 문제가 있으면 30분에서 1시간 정도 고민해보고, 정말 안 되면 해설을 보세요. 그런데 여기서 중요한 건, 해설을 본 후에 바로 답안을 베끼는 게 아니라 해설의 접근 방식을 이해한 다음, 화면을 끄고 처음부터 다시 구현해보는 거예요. 이 과정이 정말 중요해요.

목요일부터 금요일은 DP에 집중하되, 같은 방식으로 진행하세요. DP는 처음엔 진짜 어려운데, 피보나치나 계단 오르기 같은 기본 문제부터 시작해서 점진적으로 난이도를 높여가면 돼요.

주말엔 이번 주에 푼 문제들 중에서 특히 어려웠던 문제 2-3개를 다시 풀어보세요. 일주일 전에 풀었던 문제를 다시 풀어보면 "아, 이게 이렇게 풀리는 거였지"하면서 확실히 내 것이 되는 느낌을 받을 거예요.

강의 자료에서 강조했던 것처럼, 결국 답은 "질 높은 양치기"예요. 단순히 문제를 많이 푸는 게 아니라, 각 문제를 풀 때 "이런 류의 조건들에는 어떤 식의 해결법이 쓰이더라"는 경험치를 쌓는 게 중요해요.

교재 내에 첨부되어있는 코드 구현력을 높이는 체계적인 훈련 방법 페이지도 참고해보시면서 한번 연습해보시길 추천드리겠습니다 같이 빠이팅해보시져!!

0

딩코딩코

김마루님 정말 좋은 고민을 하고 계시네요! 많은 분들이 똑같은 고민을 하는데, 사실 이 질문 자체가 이미 학습에 대해 진지하게 생각하고 계시다는 것 같아 응원합니다!!

 

1. DP와 N-queen이 어려운 건 당연합니다

구현 문제는 몰라도 풀 수 있지만 DP나 N-queen은 접해보지 않으면 어렵다고 느끼신 거, 정말 정상적인 반응이에요. 왜냐면 이 문제들은 특정한 사고방식과 패턴을 알아야 접근 자체가 가능한 유형이거든요.

구현 문제는 문제에서 요구하는 대로 순서대로 코드로 옮기면 되는 경우가 많아요. 그런데 DP는 "이 문제를 작은 문제로 쪼갤 수 있는가", "이전에 계산한 값을 재사용할 수 있는가"라는 관점으로 문제를 바라봐야 하고, N-queen은 백트래킹이라는 완전히 다른 탐색 전략을 알아야 해요. 처음 보면 어떻게 접근해야 할지 막막한 게 당연합니다.

 

2. 두 접근법의 장단점 - 현실적으로 보면

하루에 한 유형씩 제대로 이해하는 방법은 넓고 얕게 배우는 방식이에요. 여러 유형을 빠르게 접해볼 수 있다는 장점이 있지만, 각 유형에 대한 깊이가 부족할 수 있어요. 특히 DP처럼 여러 번 풀어봐야 패턴이 보이는 유형은 하루만 공부하고 넘어가면 나중에 다시 막막해질 가능성이 높아요.

한 유형만 쭉 풀어서 마스터하는 방법은 깊고 좁게 배우는 방식이에요. 해당 유형에 대한 확실한 자신감을 얻을 수 있지만, 실제 코테에서는 여러 유형이 골고루 나오기 때문에 다른 유형을 나중에 봤을 때 시간이 부족할 수 있어요.

그런데 말씀하신 것처럼 "구현, DFS, BFS, DP 유형이 코테에 많이 보인다"는 게 핵심이에요. 이 말은 이 유형들에 더 많은 시간을 투자해야 한다는 뜻이거든요.

 

3. 제안드리는 절충안 - 전략적으로 접근하기

현실적으로 효과적인 방법을 제안드리자면, 유형의 중요도와 난이도를 고려한 전략적 접근을 추천드립니다

출제 빈도가 높은 핵심 유형인 구현, DFS/BFS, DP는 집중적으로 파고드세요. 이 유형들은 3-5일 정도 시간을 투자해서 최소 10-15문제씩은 풀어보는 게 좋아요. 특히 DP는 처음엔 정말 막막하지만, 비슷한 문제를 5개 정도 풀고 나면 "아, 이런 느낌이구나"하는 순간이 와요.

출제 빈도가 중간인 유형들은 기본 개념을 확실히 잡고 대표 문제 3-5개 정도 풀어보세요. 그리디, 이분탐색, 투 포인터 같은 유형들이 여기 해당해요.

출제 빈도가 낮은 특수한 유형들은 나중에 시간 여유가 있을 때 보는 게 현명해요. 일단 코테를 통과하는 게 목표라면, 나올 확률이 높은 것부터 확실하게 잡는 게 전략적으로 맞거든요.

 

4. 구체적인 학습 루틴 제안

이번 주엔 이렇게 시작해보세요. 월요일부터 수요일까지는 DFS/BFS 집중 기간으로 정하고, 하루에 2-3문제씩 푸세요. 강의 자료에서 제시한 4단계 방법을 따라가면서요. 자료구조를 정하고, 패턴을 파악하고, 코드로 구현하고, 리팩토링하는 과정이요.

막히는 문제가 있으면 30분에서 1시간 정도 고민해보고, 정말 안 되면 해설을 보세요. 그런데 여기서 중요한 건, 해설을 본 후에 바로 답안을 베끼는 게 아니라 해설의 접근 방식을 이해한 다음, 화면을 끄고 처음부터 다시 구현해보는 거예요. 이 과정이 정말 중요해요.

목요일부터 금요일은 DP에 집중하되, 같은 방식으로 진행하세요. DP는 처음엔 진짜 어려운데, 피보나치나 계단 오르기 같은 기본 문제부터 시작해서 점진적으로 난이도를 높여가면 돼요.

주말엔 이번 주에 푼 문제들 중에서 특히 어려웠던 문제 2-3개를 다시 풀어보세요. 일주일 전에 풀었던 문제를 다시 풀어보면 "아, 이게 이렇게 풀리는 거였지"하면서 확실히 내 것이 되는 느낌을 받을 거예요.

결국 답은 "질 높은 양치기"예요. 단순히 문제를 많이 푸는 게 아니라, 각 문제를 풀 때 "이런 류의 조건들에는 어떤 식의 해결법이 쓰이더라"는 경험치를 쌓는 게 중요해요.

교재 내에 첨부되어있는 코드 구현력을 높이는 체계적인 훈련 방법 페이지도 참고해보시면서 한번 연습해보시길 추천드리겠습니다 같이 빠이팅해보시져!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 김마루님.

코딩 테스트 준비에서 여러 유형의 문제를 다뤄보는 것은 매우 훌륭한 접근 방식입니다. 특히 DFS, BFS, DP 같은 알고리즘 유형은 많은 테스트에서 자주 출제되는 주제입니다. 다음은 두 가지 접근법에 대한 제 의견입니다:

1. 하루에 한 유형씩 학습하기:

이 방법은 다양한 알고리즘 유형에 대한 전반적인 이해도를 높이고, 각 유형의 특징과 적용 방법을 빠르게 파악할 수 있게 합니다. 특히 마루님처럼 아직 특정 유형에 익숙하지 않은 경우, 다양한 유형을 경험해 보는 것이 큰 도움이 될 수 있습니다.

2. 한 유형을 깊이 있게 마스터하기:

많이 나오는 알고리즘 유형(예: DP, DFS, BFS)이라면, 이 방식도 고려해볼 만합니다. 이 경우, 하나의 유형을 깊이 있게 공부하여 이해의 폭을 넓히면서 동시에 다양한 변형 문제를 풀어보는 것이 도움이 됩니다. 이를 통해 하나의 핵심 개념을 완전히 소화하고, 다양한 응용 문제까지 직접 해결할 수 있는 능력이 생깁니다.

양쪽 방법 모두 각각의 장점이 있기 때문에, 다음과 같은 방식을 추천드립니다:

추천하는 방법

  • 기본적인 이해: 처음에는 하루에 한 유형씩 공부하면서 전반적인 개념을 익히고, 다양한 유형의 문제를 조금씩 접해보세요.
  • 심화 학습: 이후 자주 출제되는 유형(DFS, BFS, DP 등)에 대해 깊이 있는 학습을 하며 여러 문제를 풀어보세요.

이 과정에서 실력을 지속적으로 확인하고 부족한 부분을 보완하며 나아가시기 바랍니다. 또한 백준과 같은 플랫폼을 이용해 꾸준히 연습하면서 실전 감각을 키우세요. 아래 링크들을 함께 참고하시면 도움이 되실 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수강평 이벤트

0

58

2

코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요

0

108

2

3-3 정렬-2 선택정렬 로직

0

54

2

링크드 리스트 끝에서 k번째 값 출력하기

0

62

2

LinkedList 과제 Fast, slow 포인터

0

58

2

투포인터 시간복잡도

0

65

2

수강평 작성 후 자료

0

62

2

수업교재 링크 오류

2

120

2

프로그래머스에서 제출 후 채점시 틀림ㅠ

0

153

2

1-10 알고리즘 더 풀어보기(2) 질문 있습니다

0

81

2

문제 풀이 방식 관련 질문입니다!

0

97

2

1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다

0

101

2

수업자료 pdf 받고싶습니다

0

118

2

강의 자료 오류 수정

0

81

1

2-10 더하거나 빼거나 관련 질문입니다

0

68

2

3-8 해쉬 -2

0

51

2

Linked List Element Delete Explanation Problem

0

73

2

강의3-4 스택 탑 문제

0

78

2

코드스니펫 입출력 케이스에 오류가 있는것 같아요

0

107

3

링크드 리스트 원소 찾기 구현 방식 질문드립니다.

0

82

2

1874 - 스택 문항

0

85

2

DP Java 예제 자료형 오버플로우 문제

0

108

2

4-9 4주차 숙제중 농심라면 문제

0

122

2

DFS 에서 스택을 사용하는 이유

1

205

3