[NeetCode/Python] Invert a Binary Tree
·
카테고리 없음
문제: https://neetcode.io/problems/invert-a-binary-tree NeetCode neetcode.io [내 코드]# 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 = rightclass Solution: def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: if not root: return ..
[NeetCode/Python] Kth Largest Integer in a Stream
·
Algorithm/NeetCode
문제: https://neetcode.io/problems/kth-largest-integer-in-a-stream NeetCode neetcode.io 문제에서 제공하는대로 리스트에 숫자를 더 추가하고, 매 리스트에서 k번째로 가장 큰 숫자를 리턴하는 것이다. [내 코드]class KthLargest: def __init__(self, k: int, nums: List[int]): self.k = -k self.nums = sorted(nums) return def add(self, val: int) -> int: self.nums.append(val) self.nums = sorted(self.nums) return..
[NeetCode/Python] Two Integer Sum
·
Algorithm/NeetCode
문제 링크:https://neetcode.io/problems/two-integer-sum NeetCode neetcode.io 합이 타겟이 되는 두 수를 찾는 문제다. 반드시 한 쌍의 숫자만 타겟 숫자를 만들 수 있다.  [나의 풀이]class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums) - 1): pair = target - nums[i] for j in range(i + 1, len(nums)): if nums[j] == pair: return [i, j] ..
[NeetCode/Python] Plus One
·
Algorithm/NeetCode
코테 스터디는 꾸준히 하면서 문제는 풀었지만 회사일이 좀 바빠 블로그에 업로드를 하지 못했다.밀린 글들 다 올려야지! 문제 링크:https://neetcode.io/problems/plus-one NeetCode neetcode.io 간단한 수학문제다. 다만 이제 덧셈을 리스트를 이용해 해야한다.  [내 풀이]class Solution: def plusOne(self, digits: List[int]) -> List[int]: result = [] add = 1 for i in reversed(digits): if i + add  음... 그냥 직관적으로 풀었다.일단 덧셈은 뒤에 가장 least significant digit부터 이루어져야 ..
[NeetCode/Python] Climbing Stairs
·
Algorithm/NeetCode
문제 링크: https://neetcode.io/problems/climbing-stairs NeetCode neetcode.io 단순한 조합 문제라고 생각했다. 이런 비슷한 문제를 예전에 풀었지만 나중에야 기억이 났는데.. 암튼 초반에 그래서 삽질을 좀 했다. [초반 틀린 풀이]from itertools import permutationsclass Solution: def climbStairs(self, n: int) -> int: # 조합 구하기 + 순서 고려 result = 1 # consist of all 1s + possible 2s for i in range(1, n//2 + 1): # i = num of 2 goal..
[LeetCode/Python] 13. Roman to Integer
·
Algorithm/LeetCode
문제 링크: https://leetcode.com/problems/roman-to-integer/description/ 로만 숫자를 10진수 숫자로 치환하는 간단한 문제였다.고려해야할 점은 보통 로만 숫자는 큰 숫자 -> 작은 숫자 순서로 쓰여지는데, 작은 숫자가 먼저온 후에 큰 숫자가 오면, 뒤에온 큰 숫자에 앞에 작은 숫자를 빼줘야한다는 점이었다. class Solution: def romanToInt(self, s: str) -> int: # largest -> smallest # exception: small -> large to substract roman = { "I": 1, "V": 5, "..