본문 바로가기

코딩 공부28

[Binary Tree / 이진 트리] Leetcode - Binary Tree Preorder Traversal Python 파이썬 요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 (leetcode) 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다. 주제: Binary Tree - Traverse a Tree 문제: Binary Tree Preorder Traversal 등급: EASY 내용: "Given the root of a binary tree, return the preorder traversal of its nodes' values." root 노드가 주어진 이진트리이다. 내가 한 것은 recursive method이다. 도대체 iterative method으로 어떻게 풀지는 몰랐다. 솔직히 recursive도 이해 완전히 한 것은 아니다... 2022. 1. 16.
Leetcode Move Zeroes Python 파이썬 시도 요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 (leetcode) 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다. 문제: Move Zeroes 등급: Easy 내용: 정수 배열 nums가 주어지면, 0을 모두 오른쪽 끝으로 움직여라. * 정수 배열 nums를 복사 X 첫 번째 시도: 머리에 바로 든 생각은, 배열에 있는 0을 다 없애면서 갯수를 카운트하여 그만큼 또 더하자고 생각했다. 속도 면에서는 딱히 좋은 코딩 방법은 아니지만, 어쨌든 통과는 시켜줬으니 좋다고 해야겠다. class Solution(object): def moveZeroes(self, nums): count = 0 while 0 in nums: nu.. 2022. 1. 14.
Leetcode Rotate Array 파이썬 시도 요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 (leetcode) 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다. 문제: Rotate Array 등급: Medium 내용: "Given an array, rotate the array to the right by k steps, where k is non-negative." 주어진 배열에서, 배열을 k 스탭만큼 돌려라. (k는 >0) 예시) Input: nums = [1,2,3,4,5,6,7,8] k = 2 output: [7,8,1,2,3,4,5,6] class Solution(object): def rotate(self, nums, k): if k == 0: retu.. 2022. 1. 13.
Leetcode Best Time to Buy and Sell Stock II 파이썬 시도 요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다. 처음 이 문제를 보았을 때는, Easy (medium이네요...) 등급 임에도 불구하고 약간 어려웠습니다. 아무래도 programming 논리가 잘 머릿속에 정리가 잘 안 되어있다 보니까 힘드네요. Best Time to Buy and Sell Stock II 문제입니다. 말 그대로 언제 주식을 팔고 사는 것이 돈을 제일 많이 벌 수 있는가 입니다. 주어진 것은 prices[i] 리스트가 주어집니다 (List[int]). 그리고 int value를 return 해야죠. 처음에는 막막했습니다. 처음에 들었던 생각은, "모든 경.. 2022. 1. 12.