1. 문제https://leetcode.com/problems/find-pivot-index/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 정수배열 nums가 주어질 때, 피벗 인덱스를 찾아야 한다.2) 피벗 인덱스란 인데스 i의 왼쪽에 있는 모든 원소의 합과 오른쪽에 있는 모든 원소의 합이 같은 위치를 말한다.3) 피벗 인덱스 i를 찾으면 해당 값을 반환하고, 존재하지 않으면 -1을 반환한다.4) 만약 피벗 인덱스가 여러 개일 경우 가장 왼쪽에 있는 인덱스를 반환한다. 3. 코드class Solution { int pivotIndex(List nums) { // 전체 합계를 저장할 변수 int total = 0; ..
1. 문제https://leetcode.com/problems/search-in-a-binary-search-tree/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 주어진 이진 탐색 트리(Binary Search Tree)에서 val값을 가진 노드를 찾는다.2) 그 노드를 루트로 하는 서브 트리를 반환한다.3) 값이 없으면 null을 반환한다. 3. 코드이진 탐색 트리의 특징은 다음과 같다.현재 노드 > 왼쪽 자식 노드현재 노드 오른쪽 자식 노드노드의 값은 모두 고유(unique) class Solution { // root - 현재 탐색 중인 노드 (루트부터 시작) // val - 찾고자 하는 값 TreeNode? sea..
1. 문제https://leetcode.com/problems/maximum-average-subarray-i/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 정수 배열 nums와 정수 k가 주어진다.2) nums의 길이가 k인 연속 부분의 배열의 평균값 중 최대값을 찾아 반환한다. 3. 코드class Solution { double findMaxAverage(List nums, int k) { // 첫 k개의 요소를 더함 int sum = 0; for (int i = 0; i
1. 문제https://leetcode.com/problems/can-place-flowers/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 길게 이어진 화단(flowerbed)가 있다.2) 이 화단의 꽃은 서로 인접한 땅에 심을 수 없다.3) 0은 빈 자리, 1은 이미 꽃이 심어진 자리이다.4) n은 새롭게 심고자 하는 꽃의 개수이다.5) 인접한 칸에 꽃을 심을 수 없다는 규칙을 어기지 않고, n개의 꽃을 새로 심을 수 있다면 true를 반환하고, 그렇지 않으면 false를 반환한다. 3. 코드class Solution { bool canPlaceFlowers(List flowerbed, int n) { // flowerb..