본문 바로가기

분류 전체보기

(13)
[프로그래머스] 단어 변환(level 3, DFS/BFS) 문제 프로그래머스 문제 보기 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 hit, target가 cog, words가 [hot,dot,dog,lot,log,cog]라면 hit -> hot -> dot -> dog -> cog와 같이 4단계를 거쳐 변환할 수 있습니다...
[프로그래머스] 다리를 지나는 트럭 (level 2, 큐/스택) 문제 프로그래머스 문제 보기 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간다리를 지난 트럭다리를 건너는 트럭대기 트럭 0[][][7,4,5,6] 1~2[][7][4,5,6] 3[7][4][5,6] 4[7][4,5][6] 5[7,4][5][6] 6~7[7,4,5][6][] 8[7,4,5,6][][] 따라서,..
[BOJ, 백준 알고리즘]11725번 문제/ 트리의 부모찾기 문제 문제 링크 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 : 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 접근방향 문제에서 주목해야 할 것이 주어진 구조가 트리라는 것이다. 나의 경우 이진트리를 먼저 공부하였기 때문에 무의식적으로 이진 트리를 떠올려 이진트리라고 가정을 하다가 한참을 헤메었다. 이 문제에서의 트리의 경우 자식이 3개 이상이 될 수도 있는 등 이진트리의 성질을 만족하지 않는 케이스까지 고려해야 했기 때문에 이진트리..
[자료구조]스택(Stack) 스택에 대한 간단한 설명 스택(Stack)은 기본적으로 배열과 비슷한 형태의 자료구조다. 하지만 push와 pop이라는 연산이 있다는 것이 배열과는 차이가 있다. 밑에서 다시 한 번 다루지만 간단하게 보자면 다음과 같다. push : 원소를 삽입하는 연산이다. pop : 가장 마지막에 삽입 된 원소를 삭제 연산이다. 스택은 push와 pop을 통해 배열과는 다르게 원소의 삽입과 삭제가 자유롭다. 하지만 임의의 원소에 접근 하는데는 배열이 더 우수하다. 스택은 후입선출(Last In, First Out/ LIFO)의 특징을 가졌다. 가장 마지막에 들어간 원소가 가장 먼저 빠져나간다는 것이다. 즉 스택에서 pop을 하면 가장 최근에 삽입되었던 원소가 삭제된다. 스택과 비슷한 방식으로 동작하는 자료구조로는 큐..
[자료구조] 이진 탐색 트리(Binary Search Tree, BST) BST에 대한 간단한 설명 트리(Tree)는 비선형적이며 계층적인 자료구조의 대표적인 예로 노드(node)들의 연결체로 표현된다. 이때 각 노드는 자식 노드를 0개 이상 가질 수 있고 부모 노드는 하나만 가진다. 만약 자식 노드의 개수가 최대 2개라면 그 트리를 이진 트리(Binary Tree)라고 부른다. 이진 트리 중에서 다음 성질들을 만족하는 경우 이를 이진 탐색 트리(Binary Search Tree)라고 부른다. 노드가 왼쪽 자식 노드를 가진다면 그 노드가 가지는 값은 그 부모 노드가 가지는 값보다 작다. 노드의 오른쪽 자식 노드를 가진다면 그 노드가 가지는 값은 그 부모 노드가 가지는 값보다 작다. 트리 내의 어떠한 노드 내에서도 저 성질을 만족한다. 이진 탐색 트리는 노드의 개수가 n개일 경..