[코딩 면접을 위해 꼭 알아둬야 하는 알고리즘 패턴 8가지와 문제 유형] 코딩 면접에 자주 출제되는 문제를 푸는데 도움 되는 알고리즘 패턴 14가지 중 6가지 소개합니다. 아티클에 나오지는 않았지만 자주 출제되었던 문제에 사용되는 2가지 패턴도 함께 공유합니다. 1️⃣ Breadth-First-Search Queue를 사용해서 트리나 그래프 전체에 있는 노드를 탐색하는 알고리즘입니다. 트리 레벨 탐색에 자주 사용되는 패턴입니다. 트리 너비 우선 탐색 알고리즘 문제 유형 * Binary tree level order traversal * Zig-zag traversal 📌 너비 우선 탐색 알고리즘의 경우 코드가 비슷합니다. 문제에 따라 큰 뼈대에서 조금씩 변형하는 경우가 많아서 트리와 크래프 BFS 코드를 어떻게 작성하는지 알아두면 문제 풀때 알고리즘 코드 짜는 것이 훨씬 수월할 수 있습니다. 📌 그래프 너비 우선 탐색 알고리즘 파이썬 코드 https://www.educative.io/answers/how-to-implement-a-breadth-first-search-in-python 📌 그래프 너비 우선 탐색 알고리즘 쉽게 설명해주는 영상 + 예시 문제 https://www.youtube.com/watch?v=tWVWeAqZ0WU&t=1787s 2️⃣ Depth-First-Search 깊이 우선 탐색은 recursion이나 stack을 사용해서 트리나 그레프를 탐색하는데 사용됩니다. 문제 접근 방식에따라 recursion 또는 stack을 사용합니다. 트리 깊이 우선 탐색 알고리즘 문제 유형 * Sum of path numbers * All paths for a sum 📌 깊이 우선 탐색 알고리즘의 경우 코드가 비슷합니다. 문제에 따라 큰 뼈대에서 조금씩 변형하는 경우가 많아서 트리와 크래프 DFS 코드를 어떻게 작성하는지 알아두면 문제 풀때 알고리즘 코드 짜는 것이 훨씬 수월할 수 있습니다. 📌 그래프 깊이 우선 탐색 알고리즘 파이썬 코드 https://www.educative.io/answers/how-to-implement-depth-first-search-in-python 📌 그래프 깊이 우선 탐색 알고리즘 쉽게 설명해주는 영상 + 예시 문제 https://www.youtube.com/watch?v=tWVWeAqZ0WU&t=1787s 3️⃣ Sliding Window 슬라이딩 윈도우 패턴은 고정 사이즈의 윈도우가 이동하면서 윈도우 내에 있는 요소를 이용합니다. 슬라이딩 윈도우 문제 유형 * Maximum sum subarray of size “K” * Longest substring with “K” distinct characters * String anagrams (애너그램) 4️⃣ Fast & Slow Pointers 두 포인터를 사용하는데, 한 포인트는 느리게 이동하며 나머지 한 포이트는 빠르게 이동하는 알고리즘입니다. 두 포인터는 정렬된 배열의 각 요소를 비교해야 하는 경우에 유용합니다 Fast & Slow Pointers 문제 유형 * 3Sum * 백스페이스가 들어간 스트링 비교하기 5️⃣ Merge Intervals Interval 중 시작과 끝이 겹치는 구간이 있는 것을 하나로 병합하는 알고리즘 패턴입니다. Merge Interval 알고리즘 * Intervals intersection * Maximum CPU load 6️⃣ Binary Search 오름차순으로 정렬된 리스트에서 특정 값을 효과적으로 찾을 때 사용되는 알고리즘입니다. 여기서 중요한 점은 "정렬된 리스트"에서 탐색한다는 것! 🚨아티클에 나오지 않았지만 자주 출체되는 알고리즘 패턴🚨 현재까지 실면접과 모의 면접 합해서 100 군대 넘게 본 것 같은데, 아티클에 소개된 BFS와 DFS 문제가 가장 많이 출제되었던 것 같습니다. 이 두가지 알고리즘이 그래프와 트리에 어떻게 사용되는지 잘 숙지하는 것도 중요하지만 다이나믹 프로그래밍과 백트래킹 문제도 자주 출제되었던 것 같습니다. 1️⃣ Dynamic Programming 다이나믹 프로그래밍 문제를 사용해야하는 문제 유형이 있는데, 패턴을 파악해도 코드로 쓰는 것이 어려운 경우가 많습니다. 📌 다이나믹 프로그래밍 알고리즘 공부 관련 글은 지난번 포스팅을 참고해 주세요. https://careerly.co.kr/comments/60463 2️⃣ Backtracking 모든 경우의 수를 전부 고려하는 알고리즘입니다. Combination을 모두 찾는 문제는 Backtracking을 사용해서 풀어야 하는 경우가 대부분이며, dynamic programming처럼 알고리즘의 효율성에 중점을 둔 패턴은 아닙니다. 📌 백트래킹 알고리즘을 아주 쉽게 설명해주는 영상 추천합니다. https://www.youtube.com/watch?v=DKCbsiDBN6c 🪴 함께 읽으면 좋은 글: [알고리즘 문제 풀기 공부하는 법] https://careerly.co.kr/comments/60668 [해외 취업 "이것" 하나로 준비하기 - 무료 템플릿] https://careerly.co.kr/comments/59046

The Top 14 Patterns to Know Before Your Next Coding Interview | Blind

Blind

The Top 14 Patterns to Know Before Your Next Coding Interview | Blind

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 7월 20일 오전 3:06

 • 

저장 841조회 15,857

댓글 4

    함께 읽은 게시물


    React 최신(v19)으로는 어떻게 개발해야 할까요?
    공식문서를 살펴보면서 앞으로 React로

    ... 더 보기

    - YouTube

    youtu.be

     - YouTube

     • 

    저장 31 • 조회 2,407


    해외취업 하고픈/디자이너와 사이드플젝 하고픈 개발자님들!

    ... 더 보기

    Studi0 - Home

    buildwithstudi0.framer.website

    Studi0 - Home

    기본적으로 알아야 할 머신러닝 알고리즘 10

    머신러닝을 공부하면서 늘 헤깔리는 것중에 하나가 알고리즘 부문인 거 같습니다. 마침, 이 알고리즘을 깔끔하게 정리한 글이 있어 공유해 봅니다. 데이터 영역에 관심있는 분들 뿐만 아니라 머신러닝이나 AI에 관심있는 분들은 원문을 꼭 일독하시길 강추(!)합니다~^^ 📜 지도학습 👉 선형회귀, 로지스틱 회귀, K-최근접 이웃, 나이브 베이즈, 결정 트리, 랜덤 포레스트, XG부스트, 라이트GBM, 📜 비지도학습 👉 K-평균 군집화, 주성분 분석(PCA) 🔔 선형 회귀(Linear Regression) 🚩 문제 유... 더 보기

    확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT

    요즘IT

    확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT

     • 

    저장 97 • 조회 3,657


    Cursor 에디터는 자동완성을 AI가 판단해서 제안해 주는 게 다른 것들보다 조금 더 능숙한 느낌입니다. 오늘 간단한 일상 코딩을 진행했는데, 이정도면 깔끔하다 싶은 코드를 잘 제안해 줬어요. 다만, 월 20달러의 가치가 있는지는 좀더 써 봐야 할 것 같습니다.

    조회 1,263


    SSR 최적화

    ... 더 보기

    마이리얼트립 SSR 최적화

    Medium

    마이리얼트립 SSR 최적화

     • 

    저장 37 • 조회 3,224