목록알고리즘 (508)
어흥
문제 링크: www.hackerrank.com/challenges/castle-on-the-grid/problem Castle on the Grid | HackerRank Determine the number of steps to move a castle to the goal position on a given grid. www.hackerrank.com 1. 주의할 점 - 한쪽으로 기울이면 벽이 닿거나, 장애물에 닿을때까지 계속 움직일 수 있다. - 벽이나 장애물에 닿아야만 공이 멈추는것이 아니다 2. 구현 - Check[][]배열을 통해 해당 지점에 도달하기 위해 최소 몇번 기울였는지 구한다 - 공의 시작점을 Queue에 넣는다 - 4방향 탐색을 하며 공을 진행시킨다. 이때, 공이 벽이나 장애물에 닿..
문제 링크: www.hackerrank.com/challenges/maximum-element/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign Maximum Element | HackerRank Given three types of queries, insert an element, delete an element or find the maximum element in a stack. www.hackerrank.com 1. 주의할 점 - 최대값을 어떤 방식으로 저장하고 있을 것인가 - Stack에서 Pop한 이후, Stack이 비었다면 최대값은? 2. 구현 - Info 형태의 구조체를 담는 S..
문제 링크: www.hackerrank.com/challenges/tree-huffman-decoding/problem?h_r=internal-search Tree: Huffman Decoding | HackerRank Given a Huffman tree and an encoded binary string, you have to print the original string. www.hackerrank.com 1. 주의할 점 - 파라미터로 받았던 Tree의 Root를 저장하는 포인터가 있어야 한다 - Leaf에 도달했을 때 처리를 명확히 한다 2. 구현 - Head를 통해 Root 포인터를 기억해놓는다 - 모든 문자를 방문할때까지만 While문을 돌리도록 idx와 len을 통해 조건문을 설정한다 - 파..
문제 링크: www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor/problem Binary Search Tree : Lowest Common Ancestor | HackerRank Given two nodes of a binary search tree, find the lowest common ancestor of these two nodes. www.hackerrank.com 1. 주의할 점 - LCA 정석풀이로 풀 수 있지만, BST의 특성을 활용하면 쉽게 풀 수 있다 - LCA, BST에 대해 알고 있어야 한다 2. 구현 - BST란? 1개의 Node에 최대 2개의 자식이 존재할 수 있다. 또한, 현재 Node를 기준으로 ..
문제 링크: www.hackerrank.com/challenges/binary-search-tree-insertion/problem?h_r=internal-search Binary Search Tree : Insertion | HackerRank Given a number, insert it into it's position in a binary search tree. www.hackerrank.com 1. 주의할 점 - 파라미터로 받은 Root가 NULL이라면? - BST에 새로운 Node(Data)를 추가할 때, 가장 아래에 추가하는데 어떤 방식으로 접근해야 하는가? 2. 구현 - BST에 새로운 Node(Data)를 추가할 때, 가장 아래에 추가하는데 어떤 방식으로 접근해야 하는가?에 대한 대답으로..
문제링크: www.hackerrank.com/challenges/tree-level-order-traversal/problem Tree: Level Order Traversal | HackerRank Level order traversal of a binary tree. www.hackerrank.com 1. 주의할 점 - Queue를 이용하여 구조체를 담도록 한다. 2. 구현 - Queue q를 이용하여 Node형태의 원소를 담을 수 있는 큐를 생성한다 - Root가 nullptr이 아니라면 큐에 넣고, While문을 큐에 원소가 없을때까지 수행한다 - 큐에서 원소를 1개 뽑은 후, 해당 값을 출력하고 해당 Node의 왼쪽, 오른쪽 자식이 있으면 순서대로 큐에 넣는다 queue q; void level..
문제 링크: www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem?h_r=internal-search Tree: Height of a Binary Tree | HackerRank Given a binary tree, print its height. www.hackerrank.com 1. 주의할 점 - 바이너리 트리의 형태에 대해 알고 있어야 한다 2. 구현 - 바이너리 트리는 최대 자식이 2개가 있는 트리로, 한쪽으로 치우쳐져 있을 수 있다 - 현재 Node의 높이를 나타내는 cur를 0으로 설정하고, 왼쪽이나 오른쪽에 자식이 있다면 cur과 자식의 높이+1을 비교하여 큰 값을 cur에 저장한 이후, cur를 리턴한다 int height(..
문제링크: [Preorder] www.hackerrank.com/challenges/tree-preorder-traversal/problem?h_r=internal-search Tree: Preorder Traversal | HackerRank Print the preorder traversal of a binary tree. www.hackerrank.com [Inorder] www.hackerrank.com/challenges/tree-inorder-traversal/problem?h_r=internal-search Tree: Inorder Traversal | HackerRank Print the inorder traversal of a binary tree. www.hackerrank.com [P..