# Basic imports -------------------------------------------- from __future__ import annotations import sys # 파이썬 기본 재귀 limit이 1000이라고 함 --> 10^6으로 manual하게 설정 sys.setrecursionlimit(10**6) from os.path import dirname, abspath, basename, normpath root = abspath(__file__) while basename(normpath(root)) != 'algo_practice': root = dirname(root) sys.path.append(root) from utils.Tester import Tester, Logger logger = Logger(verbose=False) # ---------------------------------------------------------- # Definition for a binary tree node. class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def __repr__(self): return f'<val: {self.val}, left: {self.left}, right: {self.right}>' class Solution: def diameterOfBinaryTree(self, root: TreeNode) -> int: if root is None: return 0 diameter = 0 def max_depth(node: TreeNode): if node is None: return 0
# Basic imports -------------------------------------------- from __future__ import annotations import sys # 파이썬 기본 재귀 limit이 1000이라고 함 --> 10^6으로 manual하게 설정 sys.setrecursionlimit(10**6) from os.path import dirname, abspath, basename, normpath root = abspath(__file__) while basename(normpath(root)) != 'algo_practice': root = dirname(root) sys.path.append(root) from utils.Tester import Tester, Logger logger = Logger(verbose=True) # ---------------------------------------------------------- class Solution: def wordSquares(self, words: List[str]) -> List[List[str]]: return [] '''메인 실행 코드 -- DO NOT TOUCH BELOW THIS LINE''' # 테스트 케이스 # Tuple[0]은 input, Tuple[1]은 나와야 하는 expected output test_cases = [([["area", "lead", "wall", "lady", "ball"]], [["wall", "area", "lead", "lady"], ["ball", "area", "lead", "lady"]]), ([["abat", "baba", "atan", "atal"]], [["baba", "abat", "baba", "atan"], ["baba", "abat", "baba", "atal"]])]