본문 바로가기

알고리즘/코드트리 문제풀이41

코드트리 [자바 java] 회의실 준비 구현 https://www.codetree.ai/missions/8/problems/implement-scheduling-meeting-room?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 회의가 시작하는 시간과 끝나는 시간들이 주어졌을 때, 하나의 회의실에서 열릴 수 있는 회의 수의 최댓값을 구하는 문제가 있다고 하자. 이렇게 주어졌을 때, 그리디로 풀 수 있는 세가지 방법이 있다. 1. 시작시간을 기준으로 오름차순 --> 더 늦게 시작하지만 일찍 끝나는 회의가 간과된다. 2. 회의시.. 2023. 9. 13.
코드트리 [자바 java] 숫자 합치기 https://www.codetree.ai/missions/8/problems/%08merge-numbers?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 숫자 합치기 문제는 배열이 주어졌을 때 숫자를 두개씩 합쳐서 하나의 수를 만드는 것입니다. 이 때 a라는 숫자와 b라는 숫자를 합칠 때 필요한 비용은 a+b라고 할 때 가능한 최솟값을 구해야 한다고 합시다. 배열이 1, 3, 8, 10 일때는 오름차순으로 정렬하고 앞에서부터 차례로 더해나가면 되지만, 50,50,50,50,일 때에.. 2023. 9. 13.
코드트리 [자바 java] 쪼개어 배낭 채우기 구현 https://www.codetree.ai/missions/8/problems/implement-fractional-knapsack?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 보석의 수와 배낭의 크기가 주어지고, 이 배낭에 담을 수 있는 보석들의 가치의 최댓값을 구하는 문제입니다. 저는 그리디알고리즘을 사용하였습니다. 보석을 쪼갤 수 있으므로, 보석별로 부피당 가치를 구하고, 이를 오름차순으로 정렬해서 최대한 가치가 높은 것으로만 가방을 채웠습니다. 처음에는 TreeM.. 2023. 9. 12.
코드트리 [자바 java] G & H 반전시키기 https://www.codetree.ai/missions/8/problems/reversing-g-and-h?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 그리디 중 상태반전이 가능한 문제에 해당한다. 위와 같이, 문자열이 주어지고, 구간 단위로 뒤집을 수 있을 때(0은 1로, 1은 0으로) 최소한의 횟수로 뒤집어서 원하는 문자열을 만드는 문제가 있다고 하자. 첫번째 방식과 같이 전체를 뒤집은 후, 특정 구간을 뒤집는 것도 가능하지만, 밑에처럼 원하는 배열과 다른 구간만.. 2023. 9. 10.
코드트리 [자바 java] 동전 더하기 https://www.codetree.ai/missions/8/problems/add-coins?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 이 문제는 그리디 알고리즘의 기초문제이다. n종류의 동전으로 주어진 금액을 완성시키기 위해 필요한 동전의 개수의 최솟값을 구해야 한다. 이 때 동전은 오름차순으로 정렬된 상태로 주어진다. 만들어야 하는 금액을 m이라고 하자. 가능한 빨리 효율적으로 문제를 풀기 위해, 배열의 가장 끝에서부터 차례로 앞으로 탐색하며 탐색중인 동전으로 m에서 해당.. 2023. 9. 10.
코드트리 [자바 java] 자연수 n개의 합 https://www.codetree.ai/missions/8/problems/sum-of-n-natural-numbers?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai s가 주어지고, 1부터 n까지의 합이 s가 넘지 않는 n의 최댓값을 구하는 문제이다. 나는 이진탐색으로 위 문제를 풀었다. 기본적인 이진탐색과 같이 왼쪽, 오른쪽을 의미하는 변수를 설정하고, 중간값을 계속해서 탐색하며 중간값의 합이 s보다 작으면 left를 갱신하고, s보다 크면 right를 갱신했다. 1부터 mid.. 2023. 9. 10.