Leet code #1 Two Sum > 수식의 역발상과 enumerate사용
문제. nums라는 array가 주어졌을 때, target 숫자의 합이 나오는 각 숫자의 순번(=인덱스)가 담긴 array를 반환하라 (단, 각 input에는 하나의 조합만 존재한다 -> 여러 조합이 가능한 경우 없음) Input: nums = [2,7,11,15], target = 9 Output: [0,1] Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. 처음 접근 > nums의 변수를 앞에서부터 하나씩 더해보면서 target을 충족하는 숫자의 index를 반환하면 되지 않을까? class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: answer = [] ..
2022. 9. 12.
Leet code #94 Binary Tree Inorder Traverse (DFS, BFS)
문제. 다음과 같은 Binary Tree가 주어졌을 때, 노드 값들의 inorder traversal 를 반환하는 코드를 짜라 # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right Discussion 섹션의 Andvary님의 그림을 보고 좀 이해가 갔는데요. preorder/inorder/postorder/bfs이던 이런 Binary tree와 관련된 노드를 순회하는 문제에서는 어떤 순서대로 돌아가는지 구간을 나누는게 포인트였습니다 예를 들어, 아래 그림에서 1,2,3,4,5가 가는 방향을 보면 preorder은 노드 > 왼쪽 다 돌..
2022. 9. 10.