Algorithm/릿코드 28

99클럽 코테 스터디 10일차 509. Fibonacci Number

509. Fibonacci Number 설명:피보나치 수는 0과 1로 시작하며, 이후의 숫자는 이전 두 숫자의 합으로 정의됩니다. 즉, 피보나치 수열은 다음과 같이 정의됩니다:F(0) = 0F(1) = 1F(n) = F(n - 1) + F(n - 2) (n >= 2)주어진 정수 n이 주어졌을 때, F(n)을 구하세요.    class Solution: def fib(self, n: int) -> int: if n  초기값 설정 : n이 0이거나 1일 경우, 해당 숫자를 직접 반환                      a와 b를 0과 1로 초기화(두 변수는 F(n-2)와 F(n-1)을 나타냄)for _ in range(2, n + 1): a, b = b, a + b2부터 n까지 반복..

Algorithm/릿코드 2024.06.09

99클럽 코테 스터디 9일차 118. Pascal's Triangle

문제: 파스칼의 삼각형설명:파스칼의 삼각형은 다음과 같은 성질을 갖는 삼각형 모양의 배열입니다:삼각형의 각 행은 왼쪽에서 오른쪽으로 번호를 매긴다(0번째 행, 1번째 행, ...).각 행의 처음과 마지막 요소는 1이다.내부의 각 요소는 바로 위 행의 왼쪽 요소와 오른쪽 요소의 합으로 이루어져 있다.다음은 파스칼의 삼각형의 처음 6개 행의 예시입니다[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1],[1,5,10,10,5,1]] 이 삼각형의 행 수를 나타내는 정수 numRows가 주어졌을 때, numRows 행을 포함하는 파스칼의 삼각형을 생성하시오.  답안class Solution: def generate(self, numRows: int) -> Li..

Algorithm/릿코드 2024.06.08

99클럽 코테 스터디 8일차 338. counting bits

338. counting bits문제 설명: 비트 개수 세기 (Counting Bits)문제: 0부터 n까지의 각 숫자에 대해, 2진수 표현에서 1의 개수를 담고 있는 배열을 구하시오.예시:입력: n = 2 출력: [0, 1, 1] 설명:0 → 0 (1의 개수: 0)1 → 1 (1의 개수: 1)2 → 10 (1의 개수: 1)입력: n = 5 출력: [0, 1, 1, 2, 1, 2] 설명:0 → 0 (1의 개수: 0)1 → 1 (1의 개수: 1)2 → 10 (1의 개수: 1)3 → 11 (1의 개수: 2)4 → 100 (1의 개수: 1)5 → 101 (1의 개수: 2)제약 조건:0 ≤ n ≤ 10^5  문제 설명주어진 숫자 n에 대해 0부터 n까지의 각 숫자에 대해 2진수로 변환했을 때 1의 개수를 구한다..

Algorithm/릿코드 2024.06.07

99클럽 코테 스터디 7일차 1221. Split a String in Balanced Strings

https://leetcode.com/problems/split-a-string-in-balanced-strings/description/ 문제 설명주어진 문자열 s를 균형 잡힌 문자열로 나누는 작업을 수행해야 합니다. 여기서 균형 잡힌 문자열은 L의 수와 R의 수가 동일한 문자열입니다. 가능한 많은 균형 잡힌 문자열로 나누고, 나눌 수 있는 문자열의 개수를 반환하세요.예제입력: s = "RLRRLLRLRL" 출력: 4 설명: RL, RRLL, RL, RL로 나눌 수 있습니다.입력: s = "RLLLLRRRLR" 출력: 3 설명: RL, LLLRRR, LR로 나눌 수 있습니다.입력: s = "LLLLRRRR" 출력: 1 설명: LLLLRRRR로 나눌 수 있습니다.제약 조건1 s[i]는 'L' 또는 'R'..

Algorithm/릿코드 2024.06.05

99클럽 코테 스터디 5일차 104. Maximum Depth of Binary Tree

이진 트리의 최대 깊이주어진 이진 트리의 루트 노드가 주어집니다. 트리의 최대 깊이를 구하세요.최대 깊이란?루트 노드에서 가장 먼 리프 노드까지의 경로에 있는 노드의 수입니다.  풀이재귀적으로 트리를 탐색 후, 각 노드의 최대 깊이를 계산하는 방법을 사용하였다. root가 None이면(트리가 비어있으면) 0을 반환하였고, root의 왼쪽 자식과 오른쪽 자식에 대해 각각 maxDepth를 재귀적으로 호출하여 깊이를 계산하였다. 최대 깊이 계산을 하고자 왼쪽과 오른쪽 서브트리의 깊이 중 더 큰 값을 선택하고, 현재 노드(루트)를 포함하기 위해 1을 더한다이를 통해 계산된 최대 깊이를 반환하면 결과값을 구할 수 있다.

Algorithm/릿코드 2024.06.03

99클럽 코테 스터디 4일차 226. Invert Binary Tree

이진 트리 뒤집기주어진 이진 트리의 루트 노드가 주어집니다. 트리를 좌우 반전한 트리의 루트 노드를 반환하세요. # 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 = rightclass Solution: def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]: if not root: return None # ..

Algorithm/릿코드 2024.06.03

99클럽 코테 스터디 3일차 2331. Evaluate Boolean Binary Tree

https://leetcode.com/problems/evaluate-boolean-binary-tree/description/ 주어진 불리언 이진 트리의 루트 노드가 주어집니다. 각 노드는 0 또는 1의 값을 가지며, 리프 노드가 아닌 경우 논리 연산자 OR(2) 또는 AND(3)을 나타냅니다.트리를 평가하여 그 결과를 반환하세요.예제 1:입력: root = [2,1,3,null,null,0,1] 출력: true 설명: 루트 노드가 OR(2) 연산자이고, 왼쪽 자식이 1, 오른쪽 자식이 AND(3) 연산자입니다. AND(3) 연산자의 왼쪽 자식이 0, 오른쪽 자식이 1입니다. 따라서 결과는 true입니다.예제 2:입력: root = [0] 출력: false 설명: 루트 노드가 0이므로 결과는 false..

Algorithm/릿코드 2024.06.02

99클럽 코테 스터디 2일차 TIL 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree

https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/description/주어진 두 이진 트리 original과 cloned가 있고, original 트리의 특정 노드 target이 주어집니다. cloned 트리는 original 트리의 복사본입니다. cloned 트리에서 동일한 노드를 참조로 반환하세요.두 트리나 target 노드를 변경해서는 안 되며, 반환 값은 cloned 트리의 노드에 대한 참조여야 합니다.예제 1:입력: tree = [7, 4, 3, null, null, 6, 19], target = 3 출력: 3 설명: 모든 예제에서 original과 cloned 트리가 보..

Algorithm/릿코드 2024.05.31