문제 : https://leetcode.com/problems/longest-word-in-dictionary/ 난이도 : Medium 풀이 class Solution: def longestWord(self, words: List[str]) -> str: lWord = [''] for word in sorted(words): if word[:-1] in lWord: lWord.append(word) lWord = sorted(lWord, key=len, reverse=True) return lWord[0] 단어들을 사전순으로 정렬한 뒤, lWord에 마지막 글자를 제외한 단어가 존재한다면 lWord에 푸쉬 길이 순대로 정렬한 뒤 제일 앞에 있는 단어 return
문제 : https://leetcode.com/problems/search-a-2d-matrix/ 난이도 : Medium 풀이1 --- Brute Force class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: for arr in matrix: if target bool: lo, hi = 0, len(matrix) - 1 while lo row[-1]: lo = midRow + 1 else: l, h = 0, len(row) - 1 while l row[mid]: l = mid + 1 else: h = mid - 1 return False '이미 정렬이 되어있는 배열에서 원소를 찾는다!' -> 이진트리를 ..
문제: https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 난이도: Medium You are given an array prices where prices[i] is the price of a given stock on the ith day, and an integer fee representing a transaction fee. Find the maximum profit you can achieve. You may complete as many transactions as you like, but you need to pay the transaction fee for each transaction. N..
문제: https://leetcode.com/problems/valid-anagram/ 난이도: easy Anagaram 개념만 알면 쉽게 생각해서 풀 수 있는 문제다. 풀이 class Solution: def isAnagram(self, s: str, t: str) -> bool: if s is None or t is None: return False if len(s) != len(t): return False if sorted(s) == sorted(t): return True