www.hackerrank.com/challenges/halloween-sale/problem Halloween Sale | HackerRank How many games can you buy during the Halloween Sale? www.hackerrank.com 게임을 살 때 이전것보다 더 싼것을 살 수 있다. 변수는 p, d, m, s 총 4개가 나온다. s는 사용가능한 돈이다. p는 가장 처음에 사는 게임의 가격이다. d는 이전 게임의 가격에서의 차를 뜻한다. m은 가장 싼 게임의 가격이다. 예를 들어 20 3 5 80을 입력하면 p= 20, d=3, m=6, s=80이다. 가장 처음에 20짜리 게임을 구매할 수 있고 그다음에는 20-3=17짜리 게임을 구매할 수 있다. 최소 게임 가격은..
www.hackerrank.com/challenges/compare-the-triplets/problem Compare the Triplets | HackerRank Compare the elements in two triplets. www.hackerrank.com a와 b 배열을 비교해서 a가 더 크면 a의 점수가 증가, b가 더 크면 b의 점수가 증가, 같으면 그냥 지나가는 함수를 작성하면 된다. 점수에 대한 배열을 반환하는 함수를 작성햐면 되는 문제
www.hackerrank.com/challenges/birthday-cake-candles/problem Birthday Cake Candles | HackerRank Determine the number of candles that are blown out. www.hackerrank.com 가장 긴 양초가 몇개 있는지 세고 리턴하는 함수를 작성하면 되는 문제
www.hackerrank.com/challenges/pangrams/problem Pangrams | HackerRank Check whether a given string is a panagram or not. www.hackerrank.com Pangram은 모든 문자라는 뜻으로 한 문장에 모든 문자가 들어있을때를 말한다. 이 문제도 한 문장에 모든 영문자가 들어있는지를 판별하는 문제이다. 한문자라도 없으면 "not pangram"을 출력하고 모든 문자가 있으면 "pangram"을 출력한다.
www.hackerrank.com/challenges/icecream-parlor/problem Ice Cream Parlor | HackerRank Help Sunny and Johnny spend all their money during each trip to the Ice Cream Parlor. www.hackerrank.com 입력은 다음과 같이 받는다. 첫번째 줄은 몇번 시행할지를 적는다. 두번째 줄(m)은 두개를 합해서 나온 값을 쓴다. 세번째 줄에는 배열의 원소 개수를 쓴다. 네번째 줄에는 배열을 적는다. (2~4는 몇번 시행하는지에 따라 반복됨) 출력되는 것은 둘이 합해서 m이 되는 값의 순서가 두개 출력이 된다. 첫번째 숫자가 1 네번째 숫자가 3이므로 둘의 합은 4가 된다. 따라서 이..
www.hackerrank.com/challenges/array-left-rotation/problem Left Rotation | HackerRank Given an array and a number, d, perform d left rotations on the array. www.hackerrank.com 입력한 숫자만큼 배열을 왼쪽으로 옮기는 문제 입력을 받을때 다음과 같이 입력을 받는다. 첫번째 숫자는 배열의 크기, 두번째 숫자는 이동할 숫자이고 두번째 줄의 숫자들은 배열의 원소들이다. 이 예시는 다음과 같이 작동한다. 이 문제는 rotateLeft라는 함수의 코드만 작성하면 된다. 이 함수는 배열의 숫자를 이동시키고 배열을 리턴하는 함수이다. d는 이동할 숫자, arr_count는 배열 크기,..
www.hackerrank.com/challenges/tree-inorder-traversal/problem Tree: Inorder Traversal | HackerRank Print the inorder traversal of a binary tree. www.hackerrank.com 오랜만의 hackerRank에서의 tree문제이다. Inorder Traversal은 중위 순회이다. 중위 순회는 중위 수식과 비슷하다고 생각하면 된다. 가운데의 것이 가운데로 오면 된다. 왼쪽->가운데->오른쪽 순이된다. (preorder : 가운데->왼쪽->오른쪽/postorder : 왼쪽->오른쪽->가운데) 왼쪽에 대해서 inOrder함수를 시행하고 가운데를 출력한 다음 오른쪽에 대해서 inOrder함수를 시행하..
https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem Tree: Height of a Binary Tree | HackerRank Given a binary tree, print its height. www.hackerrank.com 트리의 높이는 노드의 가장 큰 높이가 되므로 재귀함수를 이용하여 왼쪽 서브트리와 오른쪽 서브트리의 높이를 구한다음 그중 큰 값에 +1을 한 값을 리턴하면 된다. 문제에서는 getHeight함수 코드만 짜면 되기 때문에 이 함수 코드만 작성하였다.
https://www.hackerrank.com/challenges/binary-search-tree-insertion/problem Binary Search Tree : Insertion | HackerRank Given a number, insert it into it's position in a binary search tree. www.hackerrank.com 이진 탐색 트리에서 노드를 하나씩 삽입할때마다 트리를 재구성해야한다. 이진 탐색 트리의 조건은 다음과 같다. 1. 트리의 모든 원소는 중복없이 유일 2. 루트노드는 왼쪽 서브트리보다 값이 커야하고 오른쪽 서브트리보다 값이 작아야한다. 3. 왼쪽 서브트리, 오른쪽 서브트리 모두 이진 탐색 트리 따라서 먼저 노드를 삽입할때 트리가 비어있는지를..
https://www.hackerrank.com/challenges/tree-level-order-traversal/problem Tree: Level Order Traversal | HackerRank Level order traversal of a binary tree. www.hackerrank.com 레벨 순회는 큐를 이용한다. 큐의 FIFO(First In First Out)을 이용하여 큐에 root를 저장하고 그다음 꺼낸다음 root의 자식을 큐에 저장한다. 다시 큐에서 노드를 꺼낸 다음 그 노드의 자식을 저장하고 이를 꺼낸 노드가 null이 아닐때까지 계속 시행하면 된다. 큐를 사용하기 위해 struct node * 타입의 que 배열을 사용한다. 큐를 사용하기 위해 front와 rear 변..