Top 100 Liked Questions

이 문제도 반 년 전쯤에 풀었던 문제다. 복습 겸 내 풀이와 가장 빠른 풀이를 남겨본다. 문제는 여기에서 확인해보면 된다. 문제 설명 간단하게 문제를 설명하자면, 한 문자열에서 가장 긴 Palindrome을 찾는 것이다. 여기서 Palindrome이란, '회문'이라고도 불리며, 앞에서 읽어도 뒤에서 읽어도 같은 문자열을 뜻한다. 예를 들면, 'abcba'나 'abba'는 Palindrome이라고 할 수 있다. Palindrome인지 확인하는 함수는 Two Pointer 방법이나, 파이썬에서는 [::-1]을 이용하면 쉽게 구현할 수 있다. 내 풀이 코드 먼저 보자. import re class Solution: def isPalindrome(self, s:str) -> bool: return s == s[..
문제는 여기에 들어가서 보면 된다. 무려 11개월 전에 풀었던 문제인데, 복습할 겸 글을 작성한다. 제출 기록들을 보니, 이때는 알고리즘 코딩을 많이 안 해봤을 때라 혼자 시도하다가 결국 discussions에서 풀이를 찾았던 것 같다. 그중 가장 빨랐던 풀이는 아래와 같다. class Solution(object): def lengthOfLongestSubstring(self, s): subs = {} start = max_length = 0 for i, x in enumerate(s): if x in subs: sums = subs[x] + 1 if sums > start: start = sums num = i - start + 1 if num > max_length: max_length = num ..
Top 100 Liked Questions 중 하나인 Word Search 풀이를 공유한다. 문제를 읽어보면 dfs로 풀어야 할 것 같은 느낌이 빡 오는 문제이다. 내 풀이 나는 board의 (0, 0)부터 (m-1, n-1)까지 하나씩 돌며 dfs를 사용했다. 그 과정에서 visited라는 board와 같은 크기의 boolean 값으로 이루어진 2차원 리스트를 두었다. 여차 저차 해서 구현한 나의 풀이는 아래와 같으며, 결과는~~ class Solution: def dfs(self, board, word, row_idx, col_idx, curr_string, visited): if len(curr_string) == len(word): if curr_string == word: return True ..
대흉근
'Top 100 Liked Questions' 태그의 글 목록 (2 Page)