오늘은 알고리즘 풀이 시 자주 사용되는 python 라이브러리에 대해서 알아보고자 한다.
그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미합니다.일반적이 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구합니다.그리디 해법은 그 정당성 분석이 중요하다. \- 단순히 가장 좋아 보이는 것을 반
구현 알고리즘이란 무엇일까?머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 알고리즘 문제를 풀이할 때 구현은 매우 필요하다. 거의 모든 문제가 '구현 문제'인데 가끔 구현이 어렵거나 구현에 초점이 맞추어진 문제들이 있다. 즉, 풀이를 떠올리는 것은 쉽지만 소스코드
탐색(Search)란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정입니다. 대표적인 그래프 탐색 알고리즘은 DFS,BFS가 있으니 한번 정리해 보자.DFS와 BFS는 stack 자료구조를 자주 사용하기 때문에 이에 대해서 먼저 정리를 해 보자.먼저 들어온 데이터가
정렬이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것입니다.문제 상황에 따라 다른 정렬 알고리즘을 사용합니다. (데이터의 범위가 한정되어 있을 때, 이미 데이터가 정렬 되어 있을때 등..) 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택하여 맨 앞에 있는 데
다이나믹 프로그래밍은 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법이다. 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 한다.다이나믹 프로그래밍의 구현은 일반적으로 두 가지 방식으로 구성된다. (top-do
최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘을 이야기한다.한 지점에서 다른 지점까지의 최단 경로 한 지점에서 다른 모든 지점까지의 최단 경로모든 지점에서 다른 모든 지점까지의 최단 경로각 지점은 그래프에서 노드로 표현되고, 지점 간 연결된 도로는 그래프에서 간
서로소 집합은 공통 원소가 없는 두 집합을 의미한다. 예를 들어, {1,2}와 {3,4}는 서로소 관계인 집합이라고 설명할 수 있따.서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조이다.합집합 : 두개의 원소가 포함된 집합을 하나의 집합으로 합치는
1. 10814: 나이순 정렬 >sort() 함수를 영리하게 사용하기 위하여 key라는 인자와, lambda 함수를 이용합니다. > 이런식으로 lambda 함수를 이용하여 작성할 수 있다. 참고한 풀이에 참고한 블로그 https://kingofbackend.tisto