링크 : https://www.hackerrank.com/challenges/manasa-and-stones/problem 문제> n개의 연속 된 돌의 간격은 a혹은 b이다. 첫 번째 돌의 시작이 0이라면 마지막 돌의 위치로 가능한 모든 값을 찾아라.(중복 제외) n = 돌 수, a = 돌 간격, b = 돌 간격 해결방법. a와 b 각각에 돌 수를 곱해서 작은 값과 큰 값을 찾는다.(마지막 돌의 위치 중 최소위치와 최대위치를 구할 수 있다.) 마지막 돌이 될 수 있는 수의 간격은 위에서 구한 최소 위치부터 최대 위치까지 a - b의 절대값만큼 증가한다.(중복을 무시 했을 때) 최소 위치 + 증가값이 최대값보다 작을 때까지 출력한다. using System; using System.Collections.G..
링크 : https://www.hackerrank.com/challenges/lisa-workbook/problem 문제> 문제집에는 챕터1부터 챕터n까지 존재한다. 챕터에는 문제가 1번부터 ti번까지 존재한다. 한 페이지에 최대 들어갈 수 있는 문제 수는 k이다. 문제집의 페이지의 시작은 1이다. *챕터의 시작은 항상 새로운 페이지이다. 페이지번호와 문제의 번호가 같을 때 특별한 문제라고 한다면 이 특별한 문제는 몇개가 존재하는가. 해결방법. 페이지는 1부터 체크한다. 챕터의 페이지 수를 구해 첫 페이지와 더한다. = 챕터의 마지막 페이지 번호가 나온다. 현재의 페이지 번호부터 위에서 구한 마지막 번호까지 페이지 번호를 순차로 돌면서 문제 번호를 k개씩 나눠 페이지의 가장 작은 번호와 가장 큰 번호를 ..
링크 : https://www.hackerrank.com/challenges/fibonacci-modified/problem 문제> t1과 t2로 위의 수식으로 수열을 반복 해 갈 경우 n번째에 나오는 수를 출력 할 것. 단, tn은 64비트 int형보다 더 많이 클 수 있다. *fibonacciModified 함수 완성 해결방법. *BigInteger 사용.(ulong를 사용해도 크기 범위를 벗어나서 사용) t2를 2제곱 하여 t1에 더한다. 재귀호출로 t1자리에 t2를 주고 t2자리에 t1을 입력해 n번 반복한다. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics..
링크 : https://www.hackerrank.com/challenges/greedy-florist/problem 문제> n개의 꽃을 k명이 나눠산다. 배열에는 n개의 꽃 각각의 가격이 있다. 구매 한 꽃( = x)이 늘어날 수록 가격도 올라간다. 가장 적은 금액을 구하라. (x + 1) * 꽃의 가격. *getMinimumCost 함수를 완성시킬것. 해결방법. *Sort사용. 역순으로 정렬.(내림차순) = 비싼 꽃은 적게 사야 가격이 낮아진다. 꽃은 기본 1개이상 구매이기 때문에(x + 1) 기본값을 1로 하고 정렬 된 배열을 순차적으로 (꽃의 수 * 꽃의 가격)을 구해 이전의 값에 합한다. 위를 반복하면서 k번째가 될 때 마다 꽃의 수를 1씩 증가. using System; using System..
링크 : https://www.hackerrank.com/challenges/pairs/problem 문제> N개의 숫자 중, 임의의 두쌍으로 합했을 때 k값 차이나는 쌍이 몇개인지 출력하라. *pairs함수 완성문제. 해결방법. *Sort사용. N개의 임의의 숫자를 정렬. N - 1까지 각 번지에 k를 합해 다음번지부터 같은 값이 있는지 검색. 숫자가 위의 합보다 커지면 번지를 바꿔 반복. 같은 값이 있다면 카운팅을 증가. using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int pairs(int k, int[] arr) { // Complete this fun..