목록hackerrank (54)
어흥
문제링크: www.hackerrank.com/challenges/kruskalmstrsub/problem Kruskal (MST): Really Special Subtree | HackerRank Learn to use the Kruskal's algorithm ! www.hackerrank.com 1. 주의할 점 - 간선의 가중치가 같다면 각 Node의 합이 작은것을 우선시한다 - Make_union() 함수에서 부모를 잘 갱신하도록 한다 2. 구현 - 입력받는 모든 간선에 대한 정보를 우선순위큐 PQ에 넣는다 - PQ에서 꺼낸 간선에서 양 끝점이 만약 같은 집합이 아니라면 Make_union()함수를 통해 이어주며 Result에는 가중치만큼 더하며 Cnt++를 통해 MST의 경우 Node의 개수-1만..
문제 링크: www.hackerrank.com/challenges/bfsshortreach/problem Breadth First Search: Shortest Reach | HackerRank Implement a Breadth First Search (BFS). www.hackerrank.com 1. 주의할 점 - 각 쿼리마다 사용한 전역변수를 잘 초기화한다 2. 구현 - 시작점에서 다른 Node까지의 거리를 저장하는 Dist[] 배열과 각 Node에 연결된 간선들에 대한 정보를 저장하는 V[] 벡터를 초기화한다 - 넘겨 받은 간선들에 대한 정보를 V[]배열에 저장한다 - 시작점을 Queue에 넣은 이후, BFS를 통해 다음 Node의 Dist가 현재까지의 Dist + 1보다 크다면 갱신하고 Queu..
문제링크: www.hackerrank.com/challenges/encryption/problem Encryption | HackerRank Encrypt a string by arranging the characters of a string into a matrix and printing the resulting matrix column wise. www.hackerrank.com 1. 주의할 점 - 미리 9*9배열 Arr[][]을 만들어놓는다(최대 길이가 81이므로) - 배열의 가로와 세로를 잘 구하도록 한다 2. 구현 - 입력받은 문자의 공백을 모두 제거한 문자열을 Str에 저장한다 - Math.h의 내장함수인 Ceil과 Floor 함수를 통해 Row, Col을 구한다(단, Row*Col < Str..
문제링크: www.hackerrank.com/challenges/queens-attack-2/problem Queen's Attack II | HackerRank Find the number of squares the queen can attack. www.hackerrank.com 1. 주의할 점 - 8방에서 가장 가까운 장애물을 미리 구해놓는다(1칸씩 옆으로 가면서 확인하지말것) - 대각선을 잘 세도록 한다 2. 구현 - 변수 U,RU,R,RD,D,LD,L,LU를 둬서 12시부터 시계방향으로 8방향에서 가장 가까운 장애물의 Y좌표를 저장하도록 한다 - 대각선의 경우, Y좌표를 변수에 저장했기 때문에 퀸과 벽사이의 거리와 변수의 값중에서 작은 값을 저장하도록 한다. 왜냐하면 천장이나 바닥에 닿기전에 옆..
문제 링크: www.hackerrank.com/challenges/torque-and-development/problem Roads and Libraries | HackerRank Help the ruler of HackerLand determine the cheapest way to give his citizens access to libraries. www.hackerrank.com 1. 주의할 점 - 범위를 잘 확인한다 - 각 쿼리마다 초기화를 잘 수행한다 - 입력받은 길 중에서, 도서관을 1개 세우는 경우: (Cnt-1)*C_road + C_lib만큼의 비용이 발생하고 각각 도서관을 세우는 경우: Cnt*C_lib만큼의 비용이 발생한다. 즉 C_road>=C_lib일때, 각각 도서관을 세우면 된다..
문제 링크: www.hackerrank.com/challenges/magic-square-forming/problem Forming a Magic Square | HackerRank Find the minimum cost of converting a 3 by 3 matrix into a magic square. www.hackerrank.com 1. 주의할 점 - 매직 스퀘어를 이루는 경우가 몇개 없어서 전부 작성하고 풀 수 있지만, DFS로 풀 경우 가로 세로 대각선의 합이 항상 15가 되야 한다 - 중앙의 값은 무조건 5여야 한다 2. 구현 - 입력받은 S벡터의 중앙값이 5가 아니라면, 5로 바꾼 이후 차이만큼 Cnt값을 추가하며 DFS()를 시작한다 - 중앙이 5이므로, 중앙을 기준으로 정의될 수 ..