알고리즘 챌린지

패스트캠퍼스 챌린지 19일차

JUN0126 2022. 2. 11. 23:03

알고리즘 유형별 문제풀이

 

실제로 현업에서는 알고리즘 및 자료구조를 사용하지는 않지만 알고리즘으로 코딩 테스트를 보는 이유는?

  -> 개발이란 무엇인지를 이해하고 있는가에 대해서 알아보는 시간

 

왜 알고리즘으로 코딩테스트를 하는가?! => 실제 개발자가 하는일과 공통점이 있기 때문

개발자가 하는 일 알고리즘 문제를 푸는 과정 
1. 무엇을 만들어야하는지 파악 문제이해
2. 기능성, 효율성을 따져서 만들 방법 찾기 기능성,효율성을 따져 문제가 원하는 정답 구현
 3. 프로그래밍을 통해서 직접 구현하기 프로그래밍을 통해서 직접 구현

• 필수 테크닉

  - 정렬

  - 문자열 처리

  - DP(Dynamic Programming)

  - Dijkstra (다익스트라)

  - BFS & DFS

  - 완전 탐색

  - 이분 탐색

 

• 높은 난이도 알고리즘

  - 배열에서의 DP

  - Tree 에서의 DP

  - 투 포인터

  - 위상 정렬

 

 • 자료구조 

  - HashMap

  - Deque (Queue)

  - Stack

  - Priority Queue

  - Dynamic Array

 

좋은 습관 길들이기

1. 문제를 올바른 순서로 이해한다.

  - 시간, 메모리 제한을 정확히 파악

  - 문제 전체를 꼼꼼히 읽고 이해한다.

  - 제공되는 정보(변수) 정리

  - 예제 데이터에 대해 이해 (손으로 직접 테스트 추천)

  - 가능한 최대, 최소 정답에 맞는 데이터를 직접 생성

  - 키워드가 되는 단어들을 체크 (현재는 어떤 키워드인지 감을 못잡겠지만 계속해서 문제를 풀이하며 감을 익힌다)

 

2. 시간과 공간복잡도를 계산한다

  - 어떠한 알고리즘 & 자료구조를 사용함을 생각하면서 해당 알고리즘 & 자료구조의 시간/공간 복잡도를 떠올린다

  - 시간/공간 복잡도를 떠올리고 가장 최선의 시간/공간 복잡도의 자료구조 & 알고리즘을 사용한다.

 

3. 코드를 효율적으로 함수화 해서 구현한다.

 - 중복되는 코드, 자주 사용되는 코드를 함수화 하여 구현한다

 

4. 코딩 테스트에서 부분 점수를 챙긴다

 

 

알고리즘 문제풀이 전에 어떻게 하면 알고리즘을 집중적이고 효율적으로 풀 수 있을지에 대한 궁금증을 해결한

 강의 편이였다 해당 강의를 유의하면서 알고리즘 문제를 해결해 나가야겠다

 

 

 

19일차 인증

 

 

 

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr