본문 바로가기

algorithm/hackerRank23

[HackerRank] Sock Merchant 1. Link to the problem https://www.hackerrank.com/challenges/sock-merchant/problem?h_l=interview&playlist_slugs[]=interview-preparation-kit&playlist_slugs[]=warmup 2. Feedback 색깔이 맞는 양말 개수를 구하라. 메모리를 이용하여 문제 해결. Map 에 데이터를 담아 양말 색깔을 누적시킨 뒤, 나누기 2하여 양말 개수를 구함. 최종적으로 구한 양말 개수를 누적하여 답 추출 3. Source public class SockMerchant { public static void main(String [] args) { Scanner in = new Scanner(System... 2018. 10. 11.
[HackerRank] Organizing Containers of Balls 1. Problem https://www.hackerrank.com/challenges/organizing-containers-of-balls/problem 2. Feedback 수학적으로 풀어야한다는건 알았는데 못풀었음. Swap 을 해서 같은 종류의 공을 가질 수 있는지에 대한 확실한 풀이를 못찾았음. 답을 보니 container 가 가지는 공의 합과 BallType 의 합이 같으면, Possible 임. container 가 가지는 공의 합과 BallType 의 합이 정렬했을 때 같다면, Swap 을 했을 때, Possible 이라는 것을 알 수 있음. container 끼리 서로 가지고 있는 교환하여 BallType 의 개수에 맞추는 것이 핵심 결국 container 의 합을 정렬한 것 = Bal.. 2018. 7. 12.
[HackerRank] Forming a Magic Square 1. Problem https://www.hackerrank.com/challenges/magic-square-forming/problem 2. Feedback 3*3의 마방진은 답이 정해져있다. 정해진 답 속에서 입력받은 square 를 하나씩 비교해서 cost 를 계산한다. 제일 낮은 값이 정답이다. 3. Source public class FormingAMagicSquare { private static int answer[][] = { {2,9,4,7,5,3,6,1,8}, {4,3,8,9,5,1,2,7,6}, {4,9,2,3,5,7,8,1,6}, {8,3,4,1,5,9,6,7,2}, {8,1,6,3,5,7,4,9,2}, {2,7,6,9,5,1,4,3,8}, {6,1,8,7,5,3,2,9,4}, {.. 2018. 7. 3.
[HackkerRank] DP: Coin Change 1. Link to the problem https://www.hackerrank.com/challenges/ctci-coin-change/problem 2. Feedback 순서에 관계 없이 DP 를 이용하는 것이 핵심 기존 문제 푸는 방식대로 하면 cache[n] 으로 풀이가 될테지만, 이렇게 풀면 코인종류는 똑같은데 순서가 다른 것까지 포함되기에 이렇게 풀면 안됨. 중복된 것을 제거하기 위해 startIdx 를 도입하였고, 캐시를 이용하기 위해 cache[n][startIdx] 를 이용 함. 캐시를 사용함으로써 중복된 작업을 수행하지 않음. cache[n][startIdx] 의 의미는 n 에서 startIdx 로 시작할 경우, 중복된 것을 제거하고 값을 구할 수 있음. cache 가 int 값을 넘.. 2018. 6. 26.