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..
1. 문제https://leetcode.com/problems/is-subsequence/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) 두 문자열 s와 t가 주어진다.2) s가 t의 부분 수열이라면 true를 반환하고, 그렇지 않으면 false를 반환한다.3) 부분 수열은 원래 문자의 순서를 유지하면서, 일부 문자를 삭제해서 얻을 수 있는 문자열이다.4) 문자를 삭제할 수 있지만, 순서를 바꾸면 안된다. 3. 핵심 아이디어1) 투 포인터 문자열 s와 t의 인덱스를 저장하는 sIdx와 tIdx를 사용하여s의 현재 문자와 t의 현재 문자가 일치하는 문자가 발견되면 sIdx를 증가시킨다. t를 끝까지 순회하는 동안 s의 모든 문자가 순서대..
1. 문제https://leetcode.com/problems/ransom-note/description/?envType=study-plan-v2&envId=top-interview-150 2. 요구사항1) 두 문자열 ransomNote와 magazine이 주어진다.2) ransomNote를 작성하기 위해 필요한 모든 문자를 magazine에서 가져올 수 있는지 확인한다.3) 각 문자는 magazine에서 단 한 번만 사용할 수 있다.4) ransomNote와 magazine은 영어 소문자로 구성된다. 3. 핵심 아이디어1) magazine의 알파벳 등장 횟수 저장 후, ransomNote에 알파벳이 등장하면 횟수 감소magazine의 알파벳 등장 횟수를 List 타입의 charCount 변수에..