Study/코오오오테 5

[LeetCode] 104. Maximum Depth of Binary Tree (Python)

TreeNode 정의class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right 문제에서 주어진 root의 경우 아래처럼 출력이 되게 된다[TreeNode{val: 3, left: TreeNode{val: 9, left: None, right: None}, right: TreeNode{val: 20, left: TreeNode{val: 15, left: None, right: None}, right: TreeNode{val: 7, left: None, right: None}}}]  BFS를 이용한 풀이class So..

[프로그래머스] 숫자 변환하기 (python)

첫 번째 풀이def solution(x, y, n): answer = 0 sum_ls = [x] while sum_ls: if y in sum_ls: return answer sum = [] for ls in sum_ls: if ls + n    BFS를 이용한 문제로 문제에서 사용할 수 있는 모든 연산을 사용해서 계산 후 y를 넘는 것은 계산 대상에서 제외하고 반복해서 계산하는 방식으로 코드를 작성하였다 대부분의 테케가 잘 풀렸지만 몇몇이 시간초과가 나서 어느 부분에서 그런지 생각해 봤지만 잘 떠오르지는 않았다 두 번째 풀이def solution(x, y, n): answer = 0 ..

[프로그래머스] 뒤에 있는 큰 수 찾기 (Python)

첫 번째 풀이def solution(numbers): answer = [-1] * len(numbers) for i in range(len(numbers)): n = numbers[i] for j in numbers[i + 1 :]: if j > n: answer[i] = j break return answer처음엔 직관적으로 numbers의 값을 차례로 가져오고 가여운 값 다음 인덱스부터 새로운 인덱스로 만들어 가져온 값과 비교했다 당연히 이중 for문을 사용했기 때문에 시간초과가 걸리지 않을까...? 했지만.. 역시나.. 시간이 오래 걸리기도 하고, 테스트 10번 이..