링크 : https://www.hackerrank.com/challenges/maximum-perimeter-triangle/problem 문제> 제공 된 숫자들은 삼각형을 구성 할 변의 길이들. 각 변의 길이를 조합하여 가장 큰 삼각형을 만들어라. 만들지 못할 경우 -1 출력. * 삼각형의 조건 : 가장 긴 변이 z일 경우. ( x + y > z) 해결방법. 1) 변의 길이들을 정렬. 2) 변의 길이 복사 후 중복 제거.(삼각형의 가장 큰 변 z로 사용. HashSet사용) 3) 출력값에 기본으로 -1을 넣은 리스트를 생성. 4) 큰 삼각형을 찾아야 하기 때문에 큰 값부터 검색.(반복문) - 중복을 제거한 값(z)이 정렬 된 변의 길이에서 몇번째 인덱스인지 검색. - z인덱스 - 1을 y로 잡고 y +..
링크 : https://codility.com/programmers/lessons/12-euclidean_algorithm/chocolates_by_numbers/ 문제> N개 들어있는 초콜렛 상자에서 M개씩 먹는다. 만약 M개씩 먹다가 초콜렛상자에 M보다 적게 남으면 다음 상자 추가 개봉. 추가 상자를 열지 않아도 될 때 멈추고 몇개의 초콜렛을 먹었는지 출력하라. 해결방법0.(정확도 100%, 퍼포먼스 75%) using System; class Solution { public int solution(int N, int M) { // write your code in C# 6.0 with .NET 4.5 (Mono) int n = N; int count = 0; while(true) { if(n < M..
링크 : https://www.hackerrank.com/challenges/lonely-integer/problem 문제> 단일 정수를 찾아라. 해결방법1. 정수배열 a에서 0번째와 같은 값들을 배열 a의 수가 0 남을 때 까지 혹은 지운 수가 1일때까지 반복. - (지운 수가 1개라면 단일이기 때문에 값을 반환) * 배열 a가 한개라면 이미 단일이기 때문에 바로 반환. using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int lonelyinteger(int[] a) { // Complete this function if(a.Length > 1) { List A..
링크 : https://www.hackerrank.com/challenges/the-hurdle-race/problem 문제> 댄은 허들레이스 비디오게임을 하고 있다. n은 장애물의 수, k는 음료없이 뛸 수 있는 최대 높이, h는 장애물의 높이. 댄은 뛸 수 있는 최대 높이를 넘어 뛰기 위해 마법의 음료를 마실 것이다. 마법의 음료 단위는 1unit.(마시면 1씩 늘어난다는 뜻) 댄이 완주를 위해 마셔야하는 최소의 마법의 음료양을 구하라. 해결방법. *가장 높은 장애물 높이 - 댄이 음료없이 뛸 수 있는 높이를 빼면 된다. 장애물을 정렬. 가장 높은 허들과 댄이 뛸 수 있는 높이의 차. *만약 댄이 여유있게 뛸 수 있다면(계산값이 -값이거나 0이라면) 음료는 마시지 않아도 되기 때문에 0으로 반납한다...
링크 : https://www.hackerrank.com/challenges/marcs-cakewalk/problem 문제> 마크는 컵케이크를 좋아하지만 체중을 유지 하고 싶다. 컵케이크 n개를 한꺼번에 먹고, 컵케이크 i번째의 칼로리는 Ci. 컵케이크를 먹은 후 마크는 적어도 (2의 j승 * C)만큼 컬어야한다.(j는 몇번째 먹는 컵케이크인지를 말한다.) n개의 컵케이크 각각에 대한 개별 칼로리 수를 감안할 때 마크가 무게를 유지하기 위해 걸어야 하는 최소 마일수를 표기할 것. 컵케이크는 어떤 순서로든 먹을 수 있다. 해결방법. 먹을 수록 i가 늘어나고 2의 i승은 커져 곱했을 때 점점 마일수가 늘어나기 때문에 칼로리는 내림차순으로 정렬해줘야한다. (마지막 칼로리가 제일 작아 2의 최종 지수승을 곱했을..