해당 문제는 재귀함수, 순열조합, 브루트포스 탐색, 배열, set()함수에 대한 지식을 활용하였다.참고한 자료는 다음과 같다.https://velog.io/@insutance/Python-set-%EC%9D%B4%EB%9E%80set()함수https:
이분탐색, 이진검색
2805번 절단기에 설정할 수 있는 높이의 최댓값을 구한다. binsearch (리스트, 목표 높이의 최댓값) 절단기 높이 후보 리스트들을 나무의 최저 길이부터 최고 길이까지 다 넣어놓음 좌, 우, 가운데 인덱스 설정함 조건이 충족될 때 까지 무한 반복문 V_sum이라는 변수를 설정 > 총 자른 나무의 길의 i - cutlist[mid]는 각 나무들...
알고리즘 풀이.
이분 탐색
스택
백준 2493번 각 탑에서 발생하는 레이저 신호를 수신하는 탑의 인덱스를 출력하는 문제이다. 시간제한을 보면 1.5초인만큼 다음과 같은 풀이는 시간초과가 발생한다 잘못된 풀이 모든 탑의 리스트를 이중 반복하기 때문에 시간복잡도가 O(n2)이 되기 떄문이다. 해당
이진트리(Binary Tree)는 다음과 같이 root와 edge로 연결된 노드를 의미한다.
spanning tree는 방향이 없는 연결 그래프의 하위 그래프이며 모든 vertex(정점)을 가능한 최소의 edge(가지)로 연결한 그래프를 의미한다.
minimun spanning tree를 구하기 위한 알고리즘으로 Prim's Algorithm과 Kruskal's Algorithm이 있다. Prim's Algorithm 프림 알고리즘은 그래프에 연결된 vertex주변에 있는 edge의 weigh의 최솟값을 골라
문제 (백준 1197번) 알고리즘 자체가 어려운 문제는 아니다. vertex(정점)의 개수외 edge(간선)의 개수, 그리고 각 edge의 weight가 주어진 상황에서, minimum spanning tree의 weight를 출력하면 된다. Kruskal 알고리즘
먼저 입력을 받은 값은 트리를 전위 순회한 결과라는 점이다.그럼 전위 순회(preorder)는 root > left > right 순으로 진행된다.root를 기준으로 left는 root보다 작은 수 right는 큰 수가 위치한다라는 사항을 기본적인 문제 해결의 포인
위상 정렬(Topology Sort)
정의? 동적 프로그래밍이란 무엇일까...
3승 후 귀신같은 연패로 2등 진출로 8강딱이 날카로운 로그를 애도하며.. 생물학 분야에서는 둘 이상의 생물체 DNA를 비교하기도 하는데 DNA사슬은 bases라 불리는 연속된 분자들의 문자열로 구성되어 있다
그리디 알고리즘은 최적해를 구하는 데에 사용되는 알고리즘 중 하나이다. 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다.
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43105 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 ...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42584 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,0...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12912?language=python3 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 1...
1463번
10809번
1149번: RGB거리
11653번: 소인수분해