코딩 테스트/leetcode23 Range Sum of BST 첫번째 코드 사실 트리에 대해서는 이해하지만 트리를 만드는 코드와 해당 트리를 다루는 방법을 몰라서 GPT를 참고했다.이렇게 코드를 작성해도 아직 확실한 이해는 잘 모르겠다...어떻게 트리를 짜야하는지.... 다뤄야 하는지.... # Definition for a binary tree node. class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int.. 2024. 6. 14. Search Insert Position 첫번째 코드 단순하게 직접 찾으면서 비교하면 된다라고 생각했다. class Solution: def searchInsert(self, nums: List[int], target: int) -> int: count = 0 for i in nums: if i count += 1 elif i == target: return count elif i > target: return count 시간초과두번째 코드 시간 초과가 문제가 되므로 찾는 것을 더 적게 해야한다.이때 이진탐색을 이용하면 탐색에 더 적은 시간이 걸린다. class Solutio.. 2024. 6. 13. Counting Bits 첫번째 코드 bin()함수를 이용하여 이진수로 표현한 다음그 이진수에 들어 있는 1의 개수를 센 후 더하여 answer 리스트에 더하는 방법을 이용한다. class Solution: def countBits(self, n: int) -> List[int]: answer = [] for i in range(n+1): count = 0 s = bin(i)[2:] for j in s: if j == '1': count += 1 answer.append(count) return answer 통과!링크https://.. 2024. 6. 11. Minimum Number Game 첫번째 코드 heap을 이용해서 순서대로 정렬한 후처음 숫자와 두번째 숫자를 뽑은 후두번쨰 숫자, 첫번째 숫자 순서대로 answer에 넣는 것이다. import heapq class Solution: def numberGame(self, nums: List[int]) -> List[int]: heapq.heapify(nums) answer = [] while len(nums) > 1: alice = heapq.heappop(nums) bob = heapq.heappop(nums) answer.append(bob) answer.append(alice) .. 2024. 6. 5. Maximum Product of Two Elements in an Array 첫번째 코드 굳이 answer이라는 리스트를 만들지 말고 Max값을 비교해가면서 Max 값만을 갖고 움직이자! class Solution: def maxProduct(self, nums: List[int]) -> int: Max = 0 for i in range(len(nums)): for j in nums[i+1:]: Max = max(Max, (nums[i]-1)*(j-1)) return Max 통과!링크https://github.com/ornni/leetcode/tree/main/1464-maximum-product-of-two-elements-in-an-array l.. 2024. 5. 27. 이전 1 2 3 4 다음 728x90