링크 : https://www.hackerrank.com/challenges/mini-max-sum/problem 문제> 주어진 다섯개의 정수 중 4개의 합을 구해 최소값과 최대값을 구하는 문제. 해결방법.컬렉션을 사용.Sort를 사용해 정렬을 한 후 앞의 수 4자리를 더해 최소값을 구하고뒤의 수 4자리를 더해 최대값을 구했다. using System.CodeDom.Compiler; using System.Collections.Generic; using System.Collections; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using Sys..
링크 : https://www.hackerrank.com/challenges/drawing-book/problem 문제> n페이지의 책 중 p페이지를 찾으려면 최소 몇 장을 넘겨야 하는가 찾는 문제. *단, 책은 양 쪽과 앞 뒤 페이지로 이루어져 있고, 첫 페이지의 시작은 오른쪽 장의 1페이지로 시작한다. *solve 함수 완성 문제. 해결방법. 몇 장을 넘겨야 하는가 찾는 문제이기 때문에 최종 페이지의 수(n) / 2를 해준다. - 책 전체 장 수. 찾으려는 페이지도 (p) / 2를 해준다. * 책이 양 쪽으로 이루어져 있기 때문. - 앞에서부터 찾았을 경우 찾으려는 페이지 p/2. - 뒤에서부터 찾았을 경우 책 전체 페이지 n/2에서 찾으려는 페이지가 있는 장인 p/2를 빼준다. 두 값 중 더 작은 ..
링크 : https://www.hackerrank.com/challenges/find-digits/problem 문제> 입력받은 n을 각 자리별로 쪼갰을 때, 각 값이 n을 나눴을 때 나머지가 0인 값 들의 수를 구하는 문제. *findDigits 완성 문제. 해결방법. 입력 받은 n을 쪼갠 char형으로 변환 후 short형 리스트로 변환. 리스트에 0인 값과 n을 나눈 값이 0이 아닌 값을 전부 삭제. 리스트에 남은 수를 반환. using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int findDigits(int n) { // Complete this funct..
링크 : https://www.hackerrank.com/challenges/camelcase/problem 문제> 입력 받은 문자열을 단어로 나누었을 때 단어 수를 구하라. - 입력받은 문자열은 하나 이상의 단어를 연결 한 것이다. - 첫 단어의 모든 문자는 소문자이다. - 후속 단어는 첫문자가 대문자 나머지는 소문자이다. 해결방법. 첫 문자는 소문자로 된 단어 이기 때문에 카운트는 1부터 시작. 대문자가 나올 때 마다 카운팅을 한다. using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int camelcase(string s) { // Complete this ..
링크 : https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem 문제> 입력 받은 문자들은 동일 진동 수여야 한다.(ex : aabb) 동일 진동 수가 아닌 것은 1개만 추가하거나 지울 수 있다.(ex : aabbc -> aabb || aabbcc) 위의 조건에 맞을 때 YES출력. 아닐 경우 NO 출력 하는 문제. 해결방법. *Dictionary 사용. 받아온 문자열에서 문자 = key, 문자 수 = value로 Dictionary에 추가. Dictionary의 value max와 min이 같다면 주파수 동일 이므로 YES 리턴. Dictionary에서 value(문자 수)가 min과 max와 같은 값들의 수를 찾는다. 같지 않은..