목록hackerrank (54)
어흥
문제 링크: www.hackerrank.com/challenges/2d-array/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=arrays 2D Array - DS | HackerRank How to access and use 2d-arrays. www.hackerrank.com 1. 주의할 점 - H가 90도 뒤집어진 모양의 합을 어떻게 구할 것인가 - 정답이 음수일 수도 있다 2. 구현 - H의 중심점을 기준으로 상하좌우 최대 1칸씩만 떨어져있다. 따라서 중심점을 기준으로 Arr[][] 배열을 탐색할 때, 1~Row-1, 1~Col-1까지만 계산한다 - dx[], dy[] 배열을 통해 ..
문제 링크: www.hackerrank.com/challenges/find-the-nearest-clone/problem?h_l=interview&playlist_slugs%5B%5D=interview-preparation-kit&playlist_slugs%5B%5D=graphs Find the nearest clone | HackerRank Find the shortest path length between any two nodes with the given condition. www.hackerrank.com 1. 주의할 점 - BFS를 통해 해결하여 TLE가 나지 않도록 한다 - 방문여부를 기록해둔다 2. 구현 - 모든 간선에 대한 정보를 V[] 벡터에 담는다 - Idx: 현재 Node번호, Val..
문제 링크: www.hackerrank.com/challenges/queue-using-two-stacks/problem?h_r=profile Queue using Two Stacks | HackerRank Create a queue data structure using two stacks. www.hackerrank.com 1. 주의할 점 - Dequeue를 진행할때 마다 여분 스택을 이용하여 스택 전체를 옮기고 빼고 다시 옮기는 일이 없도록 한다 -> TLE 발생 2. 구현 - Enqueue를 수행하는 Stack S, Dequeue에 활용될 Stack os를 사용한다. OS에는 Stack S에 담겨있던 원소들이 역순으로 채워진다 - Front라는 변수를 통해 Queue의 Front에 위치한 수를 저장..
문제 링크: www.hackerrank.com/challenges/truck-tour/problem Truck Tour | HackerRank Solve the truck tour problem. www.hackerrank.com 1. 주의할 점 - 기름과 거리는 1:1 비율이다 2. 구현 - 파라미터로 넘겨받은 자료를 통해 각 지점에서 다음 지점까지 사용되는 자원?을 구한다. 자원은 (해당 지역에서 충전할 수 있는 기름 양 - 다음 정류장까지의 거리)로 구한다 -> 1:1 비율이므로 - 위의 값들은 Cost[] 배열에 담는다 - For문 * While문을 통해 현재 자원의 값을 Sum에 저장하며, 처음위치에 도달할때까지 Sum이 음수가 아니라면 한 바퀴 도는 작업이 가능하기 때문에 시작점을 출력한다 l..
문제 링크: 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를 기준으로 ..