강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이혜나님의 프로필 이미지
이혜나

작성한 질문수

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

코테 준비생

해결된 질문

작성

·

29

0

아직 기초 알고리즘(예: 정렬, 재귀, DFS/BFS) 이해가 완벽하지 않아서요.
강의에서 설명하신 접근법을 연습할 때,
‘어떤 문제부터 푸는 게 효율적인지’ 혹은 ‘매일 어떤 루틴으로 연습하면 좋을지’ 팁을 주실 수 있을까요?

답변 2

1

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

안녕하세요 혜나님 넘넘 좋은 질문입니다!! 기초 알고리즘이 완벽하지 않다고 느끼는 건 정말 자연스러운 과정입니다. 사실 완벽하게 이해했다고 느끼는 순간이 오기보다는, 문제를 풀면서 점점 익숙해지는 거거든요.

1. 문제 선택 전략 - 이렇게 시작해보세요

강의 자료에서 추천하는 방식을 실전에 맞게 풀어드리면, 일단 개념을 배웠다고 해서 바로 어려운 문제로 가지 마세요. 대신 배운 개념을 직접 활용할 수 있는 단계별 접근을 추천드려요.

먼저 각 개념별로 3-5개씩 쉬운 문제를 푸는 게 좋아요. 예를 들어 재귀를 배웠다면, 팩토리얼 같은 정말 기본적인 문제부터 시작하는 거죠. BFS를 배웠다면 가장 단순한 미로 탐색 문제부터요. 왜냐면 개념이 어떻게 실제로 쓰이는지 체감하는 게 먼저거든요.

그다음엔 같은 개념을 쓰되 살짝 변형된 문제들로 넘어가세요. 이 단계에서 "아, 이런 식으로도 쓰이는구나"라는 경험치가 쌓여요. 강의 자료에서 말한 것처럼, 특정 구현보다는 "이런 류의 조건들에는 어떤 식의 해결법이 쓰이더라"는 감각을 키우는 거죠.

2. 일일 루틴 - 현실적으로 지속 가능하게

매일 루틴은 사람마다 다르지만, 강의에서 강조한 방식을 바탕으로 제안드리면

하루에 1-2시간 정도 시간을 정해두고, 한 문제를 제대로 파고드는 게 여러 문제를 대충 푸는 것보다 낫습니다. 문제를 만났을 때 강의 자료에서 제시한 4단계 접근법을 따라가 보세요.

첫째, 자료구조부터 정하는 거예요. 이 문제의 데이터는 어떤 특성이 있고, 어떤 자료구조로 저장하면 좋을지 생각해보세요. 둘째, 패턴을 파악해요. 예시를 3개 정도 손으로 써보면서 규칙성을 찾아보는 거죠. 셋째, 그 패턴을 코드로 만들어요. 일단 구현하는 게 목표니까 완벽한 코드가 아니어도 괜찮아요. 넷째, 작동하는 코드가 나왔다면 리팩토링하면서 중복을 제거하고 가독성을 높여보세요.

가장 중요한 건 막혔을 때의 대처인데요. 강의 자료에 나온 것처럼 길게는 30분까지 고민해보되, 정말 안 되면 해설을 보는 게 맞아요. 이미 충분히 고민했으니까요. 그런데 해설을 볼 때가 더 중요해요. 내가 막혔던 부분이 어디였는지 기록하고, 해설에서는 어떤 식으로 풀었는지 고민한 다음, 답을 보지 않고 처음부터 다시 작성해보세요. 이 과정을 반복하면 정말 실력이 늘어요.

결국 답은 "질 높은 양치기"예요. 단순히 많이 푸는 게 아니라, 위에서 말한 4단계를 거치면서 숙성된 경험치를 쌓는 거죠.

처음엔 하루에 한 문제도 벅차게 느껴질 수 있어요. 그런데 계속하다 보면 비슷한 패턴의 문제들이 보이기 시작해요. "어? 이거 저번에 풀었던 그 방식이랑 비슷한데?"라는 순간이 오면, 그게 바로 경험치가 쌓인 거에요!! 교재에 있는 코드 구현력을 높이는 체계적인 훈련 방법 문서를 참고해서 복습해보시는 것도 추천드리겠습니다 같이 빠이팅해보시져!!

0

안녕하세요, 인프런 AI 인턴입니다.

이혜나님, 코딩 테스트 준비를 위해 기초 알고리즘을 완벽히 이해하는 것은 굉장히 중요한 부분입니다. 특히 정렬, 재귀, DFS/BFS 같은 기본 알고리즘은 많은 문제의 해법의 기초가 됩니다.

알고리즘 연습 루틴

  1. 기초부터 순차적으로:

    • 정렬 알고리즘: 버블 정렬, 선택 정렬, 삽입 정렬부터 시작해 퀵 정렬, 병합 정렬로 넘어가세요.
    • 재귀: 간단한 문제(예: 팩토리얼, 피보나치 수열)부터 시작하여 조금 더 복잡한 문제(예: 하노이 탑)로 확장하세요.
    • DFS/BFS: 기초 개념을 이해한 후, 그래프 탐색 문제로 연습하세요.
  2. 하루에 하나의 알고리즘 주제:

    • 매일 하나의 알고리즘을 선택하여 연습하세요. 강의를 시청하고, 이해한 후 작은 문제들을 풀어보세요.
    • 하루의 마지막에는 그날 배운 내용을 메모하거나 요약해보세요. 이를 통해 학습 내용을 재정리하고 정리할 수 있습니다.
  3. 다양한 문제 풀이:

    • 각 알고리즘의 기본 문제를 푼 후, 점차 난이도가 높은 문제에 도전하세요.
    • 다양한 문제 사이트(프로그래머스, 백준)에서 문제를 찾아서 풀어보세요.
  4. 주기적인 복습:

    • 주말에는 복습 시간으로 활용하여 한 주 동안 배운 내용을 다시 보세요.
    • 이해가 부족한 부분이 있었다면, 해당 알고리즘 강의를 다시 시청하거나 추가 문제를 풀어보세요.

이와 관련된 자세한 설명은 다음 URL에서 확인할 수 있습니다:
- 알고리즘 공부 방법과 루틴 만들기

이 게시물에서는 기초 알고리즘 학습과 관련된 많은 팁을 얻을 수 있습니다.

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

이혜나님의 프로필 이미지
이혜나

작성한 질문수

질문하기