링크 : https://www.hackerrank.com/challenges/migratory-birds/problem 문제> ID 1~5까지로 지정 된 유형의 n마리의 새들이 있다. 가장 일반적인(자주 발생하는) 조류의 ID를 반환하라. 단, 두 종류 이상이 발생 수가 같을 경우 그 중 작은수의 ID를 반환 할 것. 해결방법. * SortedDictionary 사용. 입력 받은 id를 key로 놓고 들어올 때마다 value를 1씩 증가 시켜준다. value중 가장 큰 값을 가진 key를 반환한다. (SortedDictionary이기 때문에 정렬이 되어있어서 가장 처음 걸리는 value값중 max값과 같은 값을 반환 하면 된다.) using System; using System.Collections.Ge..
링크 : https://www.hackerrank.com/challenges/kangaroo/problem 문제> 첫 번째 라인은 입력값 수. 두 번째 라인의 입력 값은 첫 번째 캥거루 시작점(x1), 첫 번째 캥거루가 한 번 뛸 때의 거리(v1), 두 번째 캥거루 시작점(x2), 두 번째 캥거루가 한 번 뛸 때의 거리(v2) 이다. 첫 번째 캥거루와 두 번째 캥거루가 같은 수 만큼 뛰었을때 같은 위치을 밟는게 가능하면 YES, 불가능 하다면 NO를 출력하는 문제. 단, 첫 번째 캥거루가 두 번째 캥거루보다 앞의 위치에서 뛴다.(x1 < x2) 해결방법. * x1 < x2는 항상 참인 조건. 만약 v1 보다 v2가 크다면 간격이 점점 벌어져 점점 따라잡을 수 없다. 그렇기 때문에 참이 되려면 항상 v1 ..
링크 : https://www.hackerrank.com/challenges/angry-professor/problem 문제> 학생 수가 N명인 수업에서 만약 K명 이상인 인원수의 조기 도착자가 없다면 수업캔슬을 하려고 한다. *도착시간이 0과 같거나 작다면 조기도착.(수업시간보다 먼저 도착) 수업캔슬이 취소 될 경우 NO, 수업캔슬을 할 경우 YES로 출력하는 angryProfessor 함수를 완성하라. 해결방법. Sort로 정렬 해주고 0보다 커지는 숫자가 몇 번째 인덱스에 있는지 찾으면 된다. 인덱스 번호가 조기도착 수. k보다 같거나 크다면 NO(캔슬 취소) 작다면 YES(캔슬). *for문으로 돌면서 0보다 작은 수를 카운팅 해줘도 된다. using System; using System.Coll..
링크 : https://www.hackerrank.com/challenges/birthday-cake-candles/problem 문제> 조카의 생일 케이크에 해마다 촛불을 하나씩 늘린다. 조카가 양초를 불 때, 가장 높이가 높은 것들만 끌 수 있다. 예를 들어, 조카가 4 세가되어 케이크가 높이 3, 2, 1, 3 인 4개의 초를 가지면 가장 큰 촛불의 높이가 3이고 2개의 촛불이 있기 때문에 2개의 촛불을 성공적으로 끌 수 있다. 성공적으로 끌 수 있는 초의 수를 구하는 birthdayCakeCandles 함수를 완성 시킬 것. 해결방법. *Sort, Array.FindAll사용 받아온 초의 길이를 내림차순으로 정렬한다. 정렬한 값 중 배열 0번쨰의 값과 같은 값의 수를 찾아 반환. using Sys..
링크 : https://www.hackerrank.com/challenges/apple-and-orange/problem 문제> 샘의 집에는 사과나무와 오렌지 나무가 있다. 그의 집에는 어딘가 시작점(s) 끝점(t)의 지점이 있다. 그 주변 으로 왼쪽에는 사과나무(a), 오른쪽에는 오렌지나무(b)가 있다. a < s < t < b m은 떨어진 사과 수, n은 떨어진 오렌지 수이다. m개, n개의 과일들이 떨어진 위치들 중 나무의 위치를 포함했을 때 s와 t사이에 떨어진 각각의 과일들의 수를 구하는 countApplesAndOranges 함수를 완성 시켜라. 해결방법. *Array.FindAll 사용. apple의 떨어진 위치 중 나무의 위치 a를 더했을 떄 s와 t사이에 포함되는 수를 찾는다. 오렌지도 ..