목록Algorithm/NeetCode (8)
Hack Your World
문제 링크: https://neetcode.io/problems/meeting-schedule NeetCode neetcode.io [내 풀이]"""Definition of Interval:class Interval(object): def __init__(self, start, end): self.start = start self.end = end"""class Solution: def canAttendMeetings(self, intervals: List[Interval]) -> bool: intervals.sort(key=lambda x: x.start) for i in range(len(intervals) - 1): ..
문제 링크: https://neetcode.io/problems/buy-and-sell-crypto NeetCode neetcode.io 투 포인터/슬라이딩 윈도우 [내 풀이]class Solution: def maxProfit(self, prices: List[int]) -> int: maxProfit = 0 for i in range(len(prices)-1): for j in range(i, len(prices)): profit = prices[j] - prices[i] if profit > maxProfit: maxProfit = profit ret..
문제 링크: https://neetcode.io/problems/min-cost-climbing-stairs NeetCode neetcode.io 예전에 알고리즘 감을 살릴겸, 순차적으로 구하는 방법, 역순으로 구하는 방법 두 방법 모두를 사용해서 풀어보았다.점점 이제 이지 난이도에서 벗어나야할텐데... 준비중이다! [내 코드 1: 순차적 풀이]class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: n = len(cost) result = [0 for i in range(len(cost))] # cost.length >= 2 result[0], result[1] = cost..
문제: 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..
문제 링크: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] ..
코테 스터디는 꾸준히 하면서 문제는 풀었지만 회사일이 좀 바빠 블로그에 업로드를 하지 못했다.밀린 글들 다 올려야지! 문제 링크: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부터 이루어져야 ..