<내 코드>
n = int(input())
video = [list(input()) for _ in range(n)]
def divide(x, y, n):
ans = []
check = True
color = video[x][y]
for i in range(x, x+n):
if not check:
break
for j in range(y, y+n):
if color != video[i][j]:
check = False
ans.append("(")
ans.extend(divide(x, y, n//2))
ans.extend(divide(x, y+n//2, n//2))
ans.extend(divide(x+n//2, y, n//2))
ans.extend(divide(x+n//2, y+n//2, n//2))
ans.append(")")
return ans
return color
print("".join(divide(0, 0, n)))
list.append와 list.extend의 차이에 대해 알게 됐다.
a = [1, 2, 3]
b = [4, 5, 6]
a.append(b)
print(a) # [1, 2, 3, [4, 5, 6]]
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a) # [1, 2, 3, 4, 5, 6]
append는 해당 리스트(b) 그 자체를 리스트(a) 끝에 넣어준다. 반면에 extend는 해당 리스트(b) 안의 요소들을 (a)리스트 끝에 넣어 확장시켜준다.
반응형
'알고리즘 문제풀기 > 백준 - Python' 카테고리의 다른 글
[백준 10866] 덱 - Python (Deque) (0) | 2021.05.20 |
---|---|
[백준 7568] 덩치 - Python (브루트포스) (0) | 2021.05.17 |
[백준 2630] 색종이 만들기 - Python (분할정복, 재귀) (0) | 2020.11.24 |
[백준 14889] 스타트와 링크 - Python (브루트포스, 백트래킹) (0) | 2020.11.02 |
[백준 14888] 연산자 끼워넣기 - Python (백트래킹, DFS, 브루트포스) (0) | 2020.10.27 |