본문 바로가기

알고리즘/이것이 취업을 위한 코딩 테스트다2

1. 그리디 알고리즘 (Greedy Algorithm) 단순하지만 강력한 문제 해결 방법이다. 국내 알고리즘 교재에서 단어 그대로 번역하여 탐욕법으로 소개된다. 어떠한 문제가 있을 때 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘이다. 탐욕적 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 매 순간 가장 좋아 보이는 것을 선택한다. 그리디 알고리즘은 문제 출제의 폭이 매우 넓기 때문에 단순 암기를 통해 모든 문제를 대처하기 어렵다. 그리디 알고리즘 문제는 자주 정렬 알고리즘과 짝을 이뤄 출제된다. 무작위로 주어진 경우에는 그리디 알고리즘으로는 해결할 수 없다. (무작위인 경우는 다이나믹 프로그래밍으로 해결할 수 있다.) 대부분의 그리디 알고리즘 문제에서는 문제 풀이를 위한 최소한의 아이디어를 떠올리고 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있.. 2021. 9. 21.
Part 01 코딩 테스트, 무엇을 어떻게 준비할까? 코딩 테스트 준비를 돕는 다양한 서비스 알고리즘 공부할 때 Part 02를 이해한다. Part 03 관련 문제를 푼다. 백준 온라인 저지에서 관련 문제 50개를 푼다. 백준 온라인 저지 : 삼성 SW 역량테스트 대비 문제집 제공 프로그래머스 : 카카오 공채 문제집 제공 삼성전자 : DFS/BFS를 활용해야 하는 탐색과 시뮬레이션 문제 유형을 자주 출제한다. (상시 SW 역량테스트 A형 문제와 유사하게 출제 된다.) 복잡도 알고리즘의 성능을 나타내는 척도 시간 복잡도 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래 걸리는지를 의미 알고리즘을 위해 필요한 연산의 횟수 빅오 표기법을 사용한다. (가장 빠르게 증가하는 항만을 고려하는 표기법) int arr[5] = [3,5,1,2,4]; int summar.. 2021. 9. 14.