목록python (44)
Kim Seon Deok
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net n으로 연산의 횟수를 받아, n 회 입력한 숫자를 리스트 array에 추가 힙 모듈은 min heap만을 지원한다. 따라서 입력값이 0이 아니면 -1을 곱해 힙에 push해야한다. 그러다 보면 최종적으로 절댓값이 가장 작은 수가 힙의 루트에 위치하게 된다. 리스트 array에서 원소가 0 보다 클 경우, 0보다 큰 원소에 -1을 곱해 리스트 ans에 추가 리스트 array에서 ..
https://www.acmicpc.net/problem/1034 1034번: 램프 첫째 줄에 N과 M이 주어진다. N은 행의 개수이고, M은 열의 개수이다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 램프의 상태가 주어진다. 1이 켜져있는 상태이고, 0이 꺼져 www.acmicpc.net 한 행에 0의 갯수를 p 라 하자.( p>=0, k >=0 ) 1. k 가 홀수일 때 p가 홀수 pk일 때 pass p가 짝수 pass 2.k가 짝수일 때 p가 짝수 pk일 때 pass p가 홀수 pass possible_list의 길이가 0인 경우, 0을 출력 >> 모든 행이 불가능한 경우 possible_list의 길이가 0보다 큰 경우 문제의 예제입력 5 에서, k = 6, p = 2..
이진 트리(binary tree) 노드가 왼쪽자식과 오른쪽 자식 만을 갖는 트리 왼쪽 자식과 오른쪽 자식을 구분 완전 이진 트리 루트부터 아래쪽 레벨로 노드가 가득 차있고, 같은 레벨 안에서 왼쪽부터 오른쪽으로 노드가 채워져있는 이진트리. 높이가 k인 완전 이진 트리가 가질 수 있는 노드의 수는 최대 2(k+1)-1개 이므로, n개의 노드를 저장할 수 있는 완전 이진 트리의 높이는 logn입니다. 이진 검색 트리 왼쪽 서브트리 노드의 키값은 자신의 노드 키값보다 작아야 합니다. 오른쪽 서브트리 노드의 키값은 자신의 노드 키값보다 커야 합니다. 키값이 같은 노드는 복수로 존재하지 않습니다. -구조가 단순하다. -중위 순회의 깊이 우선 검색을 통해 노드값을 오름차순으로 얻을 수 있다. -이진검색과 비슷한 방..
트리 데이터 사이의 계층관계를 표현 루트 트리의 가장 위쪽에 있는 노드 트리 하나에 1개만 존재 리프 = 단말 노드 = 외부 노드 가장 아래쪽에 있는 노드 가지가 더 이상 뻗어나갈 수 없는 마지막에 노드가 있다 >> 자식x 비단말 노드 = 내부 노드 리프를 제외한 노드 자식 어떤 노드와 가지가 연결괴엇을 때 아래쪽 노드 형제 부모가 같은 노드 조상 어떤 노드에서 위쪽으로 가지를 따라가면 만나는 모든 노드 자손 어떤 노드에서 아래쪽으로 가지를 따라가면 만나는 모든 노드 레벨 루트에서 얼마나 멀리 떨어져 있는지를 나타내는 것 가지가 하나씩 아래로 뻗어 내려갈 때마다 레벨이 1씩 증가 차수 각 노드가 갖는 자식의 수 모든 노드의 차수가 n이하인 트리를 'n진 트리'라 한다. 높이 루트에서 가장 멀리 있는 리프..
https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net n > 1일 때 사자를 0마리 넣을 때, 1마리 넣을 때, 2마리 넣을 때,, n마리 넣을때 까지 하여 경우의 수를 구하였다. n = 0 >> 1가지로 취급 [0,0,0]로 0번째 행 설정 n = 1 >> 3 = 1 + 2 [1,1,1]로 1번째 행 설정 n = 2 >> 7 = 1 + 4 +2 n = 3 >> 17 = 1 + 6 + 8 + 2 n = 4 >> 41 = 1 + 8 + 18 + 12 + 2 n = 5 >>101 = 1 + 10 + 32 + 38 + 16 + 2 사자를 우리에 넣을 때 n-1번째 행에서 0마리를 넣은 경..