오늘은 Flood fill 문제이다.
처음에 문제가 무슨 말인지 잘 몰라서 시간을 잡아먹었다.
이해하고 나서는 오랜만에 푸는 DFS 문제에 당황(?) 하여 시간을 잡아먹었다.
한때 1일 1 DFS 할 때에는 눈 감고는 못하지만 눈 뜨고 3분 안에 뚝딱 해치웠는데,
역시 인간은 망각의 동물이다.
하핫
class Solution:
def floodFill(self, image: List[List[int]], sr: int, sc: int, newColor: int) -> List[List[int]]:
row = len(image)
col = len(image[0])
value = image[sr][sc]
# DFS
def DFS(i, j):
if 0<= i < row and 0 <= j < col and value == image[i][j]:
image[i][j] = newColor
DFS(i-1, j)
DFS(i+1, j)
DFS(i, j-1)
DFS(i, j+1)
if newColor != value:
DFS(sr, sc)
return image
내장함수 DFS를 불러주었다. 조건을 만족할 때에만 새로운 색으로 칠해주고,
DFS를 위, 아래, 왼쪽, 오른쪽 4-direction으로 호출해주었다.
그리고 본 함수에서, newColor와 value가 같을 때에는 바꿔 줄 필요가 없으므로, 조건문을 추가해주었다.
간단하게 끝!
오늘의 주저리
오늘은 텐퍼센트에서 커피 907mL를 샀다. 근데 3분의 1도 다 못마신게 함정 ... 오늘 밤새고죽자
오늘 연구 중인 데이터의 타임프레임을 확인하는데, 세상에나 뭔가 잘못된 것이 있었다.
오늘도 이렇게 실패를 쌓아간다.
십만번 중 386번 실패!
더 많이 도전하고, 더 많은 실패를 거듭하고 싶다 !!
끝!
'Leetcode' 카테고리의 다른 글
Leetcode 496. Next Greater Element I (0) | 2021.10.19 |
---|---|
Leetcode 993. Cousins in Binary Tree (0) | 2021.10.18 |
Leetcode 567. Permutation in String (0) | 2021.10.14 |
Leetcode 3. Longest Substring Without Repeating Characters (0) | 2021.10.13 |
Leetcode 876. Middle of the Linked List (0) | 2021.10.12 |