개인공부(212)
-
백준 9935번 : 문자열 폭발 / C++
https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 처음 과정에서 STL에서 stack을 이용했었는데 stack 이 배열처럼 접근하지 못해서 시간초과가 나서 배열로 바꿔서 해결했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5..
2023.03.13 -
백준 11286번 : 절댓값 힙 / C++
11286번: 절댓값 힙 (acmicpc.net) 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 #include #include..
2023.03.12 -
백준 1654번: 랜선 자르기 / C++
1654번: 랜선 자르기 (acmicpc.net) 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 #include #include using namespace std; int main() { cin.t..
2023.03.12 -
레드블랙트리 삭제 구현/ C++
반환값은 다음 이터레이터를 반환한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 1..
2023.03.11 -
백준 1759번: 암호 만들기 / C++
1759번: 암호 만들기 (acmicpc.net) 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 #include #includ..
2023.03.11 -
레드블랙트리 - 삭제
ㅇ레드블랙 트리 삭제 레드블랙트리의 삭제는 기본적으로 이진탐색트리의 삭제방식을 사용한다. 이후에 삭제하고 나면, 무너진 레드블랙트리의 규칙을 복원하는 것에 초점을 둔다. 첫째로 삭제된 노드가 RED 인 경우 작업이 필요하지 않다. 왜냐하면 규칙이 무너지는 경우는 RED 노드가 연속적으로 부모 자식 관계인 경우인데 RED가 삭제되는 걸로는 해당 규칙을 벗어나지 않기 때문이다. 하지만 검은색 노드를 삭제하는 경우가 문제가 된다. ㅇ이진 탐색트리의 삭제 이진 탐색트리의 삭제작업은 우선 삭제할 노드를 탐색하는 과정이 끝나면, 세 가지 경우로 나뉜다. 1. 삭제할 노드가 단말노드인 경우 삭제할 노드가 단말노드인 경우에는 그 부모노드가 해당 노드로의 연결을 끊고 리프노드를 연결해 준다. 2. 삭제할 노드가 자식노드..
2023.03.10