[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, "..
[NeetCode/Python] Find Target in Rotated Sorted Array
·
Algorithm/NeetCode
문제 링크: https://neetcode.io/problems/find-target-in-rotated-sorted-array NeetCode neetcode.io 굉장히 특이한 문제였다.O(n)으로 하면 풀기 쉽지만 O(log n)의 시간 복잡도로 문제를 풀라고 되어있다.딱 보자마자 binary search가 떠올랐는데 문제는 문제 조건이다. binary search는 알다시피 정렬된 배열에서 사용하는 sort 알고리즘이다.하지만 이 문제는 기존 정렬 배열에서 특정 횟수만큼 rotate된 배열을 input으로 두었다.binary search를 활용하여 푸는 문제들은 봤어도 이렇게 응용한 문제는 처음봐서 굉장히 신선했다.- 풀이 찾아 해매기1. 처음에는 기존 sorted array에서 rotate가 된..