본문 바로가기

algorithm/hackerRank23

[HackerRank] Climbing the Leaderboard 1. Problem https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem 2. Feedback 주어진 점수의 랭킹이 몇 등인지 구하는 문제 정렬되있다는 힌트를 보고 이진 검색을 생각했고, 랭킹을 구하기 위해 이진검색을 변형시켜서 풀었음. 순위를 매기는 작업은 시간복잡도 O(n) 이진검색은 n 을 1/2 씩 줄여나가니 logN 총 시간복잡도는 m개의 score 의 순위를 구하는 문제이니 O(n) + O(m*logm) min > max 인 부분을 체크를 못해서 시간 걸림. 3. Source import java.util.Scanner; public class ClimbingTheLeaderboard { public static void.. 2020. 7. 10.
[HackkerRank] Sherlock and Anagrams 1. Link to the problem https://www.hackerrank.com/challenges/sherlock-and-anagrams/problem?h_l=interview&playlist_slugs[]=interview-preparation-kit&playlist_slugs[]=dictionaries-hashmaps 2. Feedback Brute force 로 풀었는데, O(n3) 이 나와서 최적화 하는데 시간 엄청 잡아먹음. 문제 Constaint 에 1 2018. 10. 12.
[HackerRank] Minimum Swap2 1. Problem https://www.hackerrank.com/challenges/magic-square-forming/problem 2. Feedback array 가 연속적인 것이 아님. 문제 잘못된듯 brute force 로 풀면 앞에서부터 마지막까지 비교해서 정렬시킴. 복잡도 - O(n2)) 최적화 작업 메모리를 이용해서 값이 같으면, count 하고, swap 시킴. 이 방법은 모든 값을 비교하지 않고, 가지치기 하기에 그나마 비교횟수가 떨어짐. 3. Source public class MinimumSwaps2 { public static void main(String [] args) { Scanner in = new Scanner(System.in); int n = in.nextInt().. 2018. 10. 11.
[HackerRank] New Year Chaos 1. Problem https://www.hackerrank.com/challenges/new-year-chaos/problem?h_l=interview&playlist_slugs[]=interview-preparation-kit&playlist_slugs[]=arrays 2. Feedback 못풀음. 힌트 보고 풀음. 규칙 bribe 는 한 사람이 최대 2번 까지 가능 앞에 있는 얘는 뒤에 있는 얘한테 bribe 를 못 줌. Brute force 로 풀어볼려는데, Swap 해서 규칙을 찾아서 프로그래밍화 하는 방법을 못찾음. 입력 받은 상태를 초기 상태로 변환하는 방법으로 풀음. 최대 2번 바꿀 수 있으며, 초기상태는 오름차순이기에, 끝에서부터 최대 index 2 이내의 값이, 앞의 값이 뒤에 값보다 .. 2018. 10. 11.