전체 글 50

(간단한 코드)리트코드 14. Longest Common Prefix

처음에는 prefix가 뭔지 몰라서 오해해서 문제를 풀려고 했었다. 그래서 딕셔너리를 통해서 접근을 하려고 했었는데 이런 식으로 딕셔너리에 있는 숫자를 통해서 정리해서 출력을 하려고 했지만, 다음과 같은 에러가 나타났다. 여기서 prefix가 접두사 라는 것을 검색하고, "붙어 있어야 한다"라는 것을 알았다.class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: strs = sorted(strs,key=len) short_str = strs.pop(0) cnt = 0 for i in range(len(short_str)): for ..

(간단한 코드)리트코드 121. Best Time to Buy and Sell Stock

주식과 같이 매 순서마다 바뀌는 가격에 따라 최대의 이윤을 남기는 문제이다.  여기서 나는 우선 "가장 낮은 가격대를 기준으로 고르면 금방이겠네!"라고 생각을 했지만, 아니었다. 이 와 같은 경우 가장 낮은 수는 1이지만, 이윤은 남길 수 있었다.  그렇다면, 우리는 두가지를 고려해야 한다, 하나는 언제 살지를 의미하는 "최소값"과 판 후의 "최대 이윤"이다.class Solution: def maxProfit(self, prices: List[int]) -> int: m, M = float('inf'), 0 for price in prices: if price M: M = profit return M 우선 최소값..

(간단한 코드)리트코드 392. Is Subsequence

이번 문제는 s안에 있는 "모든 문자"가 t안에 "같은 순서"로 나열되어 있는지 확인하는 과정이다. 처음에는 인덱스를 활용해 접근을 하려고 했다.class Solution: def isSubsequence(self, s: str, t: str) -> bool: if len(s) > len(t): return False if s == '': return True ind = [] for i in range(len(s)): if s[i] not in t: return False else: ind.append(t.index(s[i])) new_ind =..