목록전체 글 (591)
어흥
문제 링크: 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..
문제 링크: www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists/problem?h_r=internal-search Find Merge Point of Two Lists | HackerRank Given two linked lists, find the node where they merge into one. www.hackerrank.com 1. 주의할 점 - 최악의 경우 N*M의 시간복잡도가 발생하지만, 통과한다 2. 구현 - While문 2개를 이용해서 브루트포스 느낌으로 구현할 수 있지만, Discussion에서 다른 사람의 풀이를 통해 살짝(?) 다른 접근을 해보자 - head1와 같은 주소를 가리키는 a를, h..