링크 : https://www.hackerrank.com/challenges/icecream-parlor/problem 문제> * 모은 돈(m)으로 딱 떨어지게 서로 다른 두가지 맛 아이스크림을 사려고한다. * n은 맛의 종류 수(flavors). * ci는 맛 각각의 가격들. 해결방법. 1) money에서 기준이 되는 i번째 아이스크림의 가격을 뺀 잔액을 구한다. * 잔액을 기준이 되는 i의 +1부터 위치 탐색. * 잔액과 동일한 값이 없으면 잔액을 리셋하고 기준을 i + 1로 변경 해서 반복. 2) 출력시 출력 포맷에 맞추기 위해 i와 찾은 인덱스 각각에 +1 한 후 출력. sing System; using System.Collections.Generic; using System.IO; class S..
링크 : https://codility.com/programmers/lessons/16-greedy_algorithms/tie_ropes/ 문제> 인접한 길이의 로프끼리 이었을 때(배열 A의 인접한 값들끼리의 합을 말함), K이상의 길이가 되는 수를 구하라. 해결방법. 길이를 순차적으로 더하다가 K이상이 되면 ropeCount를 증가하고 길이를 초기화해서 반복한다. using System; // you can also use other imports, for example: // using System.Collections.Generic; // you can write to stdout for debugging purposes, e.g. // Console.WriteLine("this is a debug..
링크 : https://www.hackerrank.com/challenges/minimum-absolute-difference-in-an-array/problem 문제> * 제시 된 숫자들 중, 두 수의 차를 절대값으로 했을 때 가장 작은 결과값을 구하라. - 답 제출시 퍼포먼스 체크를 해서 통과 못하면 실패한다. 해결방법. minimumAbsoluteDifference 함수의 내부만 채우면 된다. 1) 배열을 리스트로 받아서 정렬. 2) i와 i+1의 차를 구해 절대값으로 변경. (순차 쌍의 차에 같은 부호의 차가 값이 작다.) - 비교해 더 작은값을 누적. * 만약 받은 값이 0이면 멈추고 리턴. (절대값이기 때문에 최소값은 0 이하로 나올 수 없다.) - 최소값을 리턴. using System; u..
링크 : https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem 문제> * 리더보드에 있는 순위별로 표시 되어 있는 점수표에 갱신 된 점수들의 순위를 구하라. - 단, 같은 점수는 동일 순위이다. - 기존 리더보드는 내림차순. - 갱신 될 리더보드는 오름차순. 해결방법. 1) HashSet을 이용해 받아온 리더보드의 중복제거 후 리스트로 변경. 2) 갱신 할 값들을 순차적으로 리스트의 마지막 부터 갱신 할 값보다 큰 값의 번지를 검색. *기존은 내림차순, 갱신은 오름차순이기 때문에 뒤에서부터 찾는게 더 빠르다. - 받은 번지에 +2 ( = +1 : 추가 될 위치, +1: 입력포맷.)를 해서 출력. - 찾은 번지 주소를 받아 놨다가 그..
링크 : https://www.hackerrank.com/challenges/mark-and-toys/problem 문제> * n개의 장난감과 k원 있을때(첫번째 입력받은 문자열) * k원으로 살 수 있는 장난감의 최대 수를 구하라. * 첫번째 입력받은 문자열은 n개로 이루어진 각 장난감의 가격이다. 해결방법. maximumToys 함수의 내부만 채우면 된다. 1) 장난감의 금액들을 저렴한 순으로 정렬. 2) 잔고에서 장난감을 구매. 장난감 수를 증가. - 잔고가 0보다 작아지면 구매를 멈추고 구매한 장난감 수를 리턴. using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { sta..