Greedy3 [백준] 1946 신입 사원 c++ 접근 두 가지의 성적을 비교하여 신입 사원 간 우위를 확인하기 위해서는 서류 성적을 먼저 정렬할 필요가 있어 보입니다. 그 후 면접 성적을 비교하여 가장 많은 신입 사원의 수를 계산해야 합니다. 정렬 후 첫 번째 신입사원은 다른 신입사원보다 반드시 서류 성적이 뛰어날 것이므로 면접 성적이 어떻게 되었든 반드시 합격하는 신입사원입니다. (정렬 후 그리디한 접근이 이 문제에서 반드시 최대의 경우의 수를 도출하는 이유입니다.) 첫 번째 신입 사원과 두 번째 신입사원의 면접 성적과 비교하였을 때, 만약 첫 번째 신입사원보다 면접 성적이 좋은 경우 두 번째 신입사원을 비교 기준으로 변경합니다. 달리 얘기해서, 이미 서류 성적이 낮은 세 번째 네 번째 ... 신입 사원들은 두 번째 신입사원보다 면접 성적이 높기만 .. 2024. 8. 11. [LeetCode] 45. Jump Game II 접근 그리디로 풀면 되는 문제 기술적인 스킬이 부족해서 안될 코드를 계속 붙잡고 있었다. 머리를 써야 한다. 왜 상황 이해를 제대로 하지 않는 듯 문제 링크 https://leetcode.com/problems/jump-game-ii/description/ 솔루션 class Solution: def jump(self, nums: List[int]) -> int: nums_length = len(nums) left = right = 0 answer = 0 while right < nums_length-1: max_index = 0 # get max index of available range for i in range(left, right+1): max_index = max(max_index, i+nums.. 2023. 4. 3. [LeetCode] 55. Jump Game 접근 처음에 백트래킹으로 풀었으나 TLE로 인해 승인되지 않았음 찾아본 결과 백트래킹+DP 로 풀거나 그리디 알고리즘을 사용하여 풀어야 함을 알게 되었음 그리디 알고리즘을 통해 문제를 해결 https://www.youtube.com/watch?v=Yan0cv2cLy8 참고하였음 문제 링크 https://leetcode.com/problems/jump-game/ 솔루션 class Solution: def canJump(self, nums: List[int]) -> bool: nums_length = len(nums) point = nums_length-1 for index in range(nums_length-1, -1, -1): # if available to move point from place of.. 2023. 4. 3. 이전 1 다음