본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지

sw사관학교 정글 2기/알고리즘7

알고리즘 공부 전략 + 유용한 링크 어떤 기법을 쓰면 좋을지를 파악하는 것이 가장 중요하다! 그 이후는 계산 문제에 불과하다 수학 문제처럼 접근하자! 다양한 유형을 공부해 넘어가기! 백준 문제풀이 스터디 https://github.com/tony9402/baekjoon/blob/main/picked.md https://www.youtube.com/watch?v=4D0PYVntENw&ab_channel=%EC%BB%B4%EA%B3%B5%EC%84%A0%EB%B0%B0 https://gmlwjd9405.github.io/2018/05/14/how-to-study-algorithms.html [공부법] 알고리즘 공부법 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.gith.. 2021. 10. 19.
그리디 알고리즘 동빈나 강의:https://www.youtube.com/watch?v=2zjoKjt97vQ 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 그리디 해법은 그 정당성 분석이 중요. 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토. 정당성 분석 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다. 하지만 코딩 테스트에서 대부분의 그리디 문제는 탐욕법으로 얻는 해가 최적의 해가 되는 상황에서, 이를 추론 할 수 있어야 풀리도록 출제 됨. 2021. 8. 30.
다이나믹 프로그래밍 동빈나 강의 :https://www.youtube.com/watch?v=5Lu34WIx2Us https://blog.naver.com/ndb796/221233570962 다이나믹 프로그래밍은 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않음 다이나믹 프로그래밍의 구현은 일반적으로 두 가지 방식(탑다운, 바텀업)으로 구성 일반적인 프로그래밍 분야에서의 동적(Dynamic)의 의미 프로그램이 실행되는 도중 자료구조에서 동적 할당(Dynamic Allocation)은 '프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당하는 기법' 다이나믹 프로그래밍에서 다이나믹은 특별한 의미는 없음. 다이나믹 프로그맹의.. 2021. 8. 26.
Topological sort, 위상 정렬 좋은 설명 링크: https://gmlwjd9405.github.io/2018/08/27/algorithm-topological-sort.html https://terms.naver.com/entry.naver?docId=3579618&cid=59086&categoryId=59093 위상 정렬이란? 위상 정렬(topological sorting)은 유향 그래프의 꼭짓점들(vertex)을 변의 방향을 거스르지 않도록 나열하는 것을 의미한다. 개인적 노트 위상정렬이라는 알고리즘은 기본적으로 단순히 노드/꼭짓점들을 진입 방향에따라 순서대로 나열 할 뿐인 알고리즘이다. 위상정렬을 마친 답은 여러 종류가 있을 수 있고, 이를 응용하는게 알고리즘 문제들의 특징이다. 가장 기본적인 위상정렬을 시행하는 문제로 백준-줄.. 2021. 8. 25.
그래프 탐색 알고리즘: DFS/BFS 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말한다. dfs와 bfs는 가장 흔히 사용되는 그래프 탐색 알고리즘이다. 알고 가야하는 두가지 자료 구조: 스택: 선입후출 / 입구와 출구가 동일한 형태 큐: 선입선출 / 입구와 출구가 모두 뚫려 있는 터널과 같은 형태. 재귀 함수: 자기 자신을 다시 호출하는 함수 재귀 함수 문제 풀이에서 사용할 때는 재귀 함수의 종료 조건을 반드시 명시해야 함. 그렇지 않을 경우 함수가 무한히 호출될 수 있다. 재귀 함수를 이용하게 되면 마치 스택에 데이터를 넣었다가 꺼내는 것과 마찬가지로 각각의 함수에 대한 정보가 실제로 스택 프레임에 담기게 되어서 이렇게 차례대로 호출이 되었다가, 마지막에 호출되었던 함수부터 차례대로 종료되어 결과적으로 첫번째 호출했던.. 2021. 8. 19.
정렬 목차: 0. sort 활용 1. 병합 2. 퀵 백준 문제풀이: 단어정렬 https://bdbest.tistory.com/71?category=963504 백준 문제풀이: 수의 정렬 1,2,3 https://bdbest.tistory.com/70?category=963504 0. python sort 활용 sort 기초: https://wikidocs.net/16041 두개 이상의 조건 sort: https://hyun-am-coding.tistory.com/entry/key%EC%99%80-lambda%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%A0%95%EB%A0%AC data = ["나라","가구","봄","가을","도토리","낫","혹","가을 아침","나는 밥을 먹고.. 2021. 8. 11.
python 함수 정리 간편 정리 링크: https://dev-ku.tistory.com/153 [파이썬 기초] 03-1. 내장 함수 정리 📌 내장 함수 파이썬의 내장 함수는 모듈이나 패키지를 import하지 않고 바로 사용할 수 있다. 자주 사용하는 함수만 정리(사전 순으로 정리) 해보고 필요하면 그때 그때 찾아서 쓰면된다. 실습 dev-ku.tistory.com 클래스를 이용한 스택 구현. https://gorokke.tistory.com/129 [자료구조] 파이썬 스택(stack) 총정리 1. 스택이란? : 가장 나중에 넣은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조로 Last In First Out(LIFO) 방식이다. (혹은 FILO : First In Last Out) 파이썬에서는 list [] 로 이미 구현되어.. 2021. 8. 8.