이코테
[알고리즘] DFS & BFS 알기
참고 영상 나동빈 유튜브 이코테 2021 강의 몰아보기 : DFS & BFS 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 탐색이라고 한다. DFS & BFS는 대표적인 그래프 탐색 알고리즘이다. DFS 와 BFS를 공부하기전에 무조건 알아야 할 자료구조 두 가지 스택과 큐를 알아야 한다. 스택 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 대표적인 예시 : 박스 쌓기 스택 자료구조는 삽입과 삭제의 연산으로 이루어진다. 파이썬에서 스택을 사용하려면 단순하게 list로 사용하면 된다. stack = [] stack.append(1) # 1 stack.append(3) # 1 - 3 stack.append(5) # 1 - 3 - 5 stack.append(7) # 1 - 3 - 5 ..
[알고리즘] 그리디 알고리즘 알기
그리디 알고리즘 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 그리디 해법은 정당성 분석이 중요하다. - 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 매 상황에서 가장 큰 값만 고르는 것이다. 일반적인 상황에서는 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다. (그 순간만 판단하기 때문에) 그리디 알고리즘을 설명하기 위해 자주 등장하는 예시 문제라고 한다. 가장 큰 단위 화폐부터 돈을 거슬러 주면 된다. 1260원을 거슬러 줘야한다고 할 때 500원부터 거슬러주면, 500 x 2 = 1000, 100원 => 100 x 2 = 200, 50원 => 50 x 1 = 50, 10원 => 10 x 1 = 10 이런 식으로 그럼 이렇게 큰 화폐 단위부터 ..
[이코테] 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기
동빈좌의 유튜브를 보며, 파이썬 알고리즘 공부하기 www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 알고리즘 성능 평가 복잡도가 낮을수록 더 좋은 알고리즘이다! 그냥 소스 코드가 복잡해보인다. 와는 다른 얘기이다. 성능적인 측면에서의 복잡도를 이야기 하는 것이다. 시간복잡도 특정한 크기의 입력에 대해서 수행 시간 분석 공간복잡도 특정한 크기의 입력에 대해서 메모리 사용량 분석 빅오 표기법 가장 빠르게 증가하는 항만을 고려하는 표기법. (알고리즘 푸는 입장에서는 위와 같이 이해해도 상관없다고 한다.) 리스트 객체를 array에 할당해주고, for문에서 모든 데이터를 하나씩 다 확인을 하니까, 수행시간은 데이터의 개수인 N..