leetcode 3

[LeetCode] 11. Container With Most Water

[LeetCode] 11. Container With Most Water https://leetcode.com/problems/container-with-most-water/description/?envType=study-plan-v2&envId=leetcode-75  문제 풀이 접근법투포인터 활용투포인터 접근법은 가장 높은걸 기준으로 가장 멀리 있는것 부터 하나씩 체크해가는 로직왜냐하면 가장 멀리 있는 기둥일수록 가장 면적이 크게 잡히기 때문.면적을 계산한 후 두 기둥 중 더 높은 기둥을 기준 포인터로 남기고 기준 포인터에서 L, R을 옮겨가면서 판단하기이게 가능한 이유는 `거리`가 가중값 없이 존재하기 때문에 거리를 기반으로 L, R을 옮기면서 찾아보면 된다.만약 가중값이 존재한다면 그래프 알고리즘으..

[LeetCode] 334. Increasing Triplet Subsequence

[LeetCode] 334. Increasing Triplet Subsequencehttps://leetcode.com/problems/increasing-triplet-subsequence/?envType=study-plan-v2&envId=leetcode-75     문제 풀이 아이디어증가하는 K(3)개의 수를 찾는 문제로 일반화K개의 값이 증가하는 패턴을 찾기그리디 알고리즘으로 접근K개를 먼저 준비해두고, 0번 인덱스부터 값을 교체해가며 연속하는 배열을 찾아냄  class Solution { func increasingTriplet(_ nums: [Int]) -> Bool {// kLengthArray는 현재까지 발견한 k개의 증가하는 수열을 저장 var k = 3 v..

[LeetCode] 605. Can Place Flowers

[LeetCode] 605. Can Place Flowers  - DP 활용해 누적곱으로도 풀어낼 수 있는데, 특정 조건이 만족하면 그대로 종료할 수 있는 로직을 통해 특정 데이터 조건에서 시간 복잡도 개선이 불가하여, 다른아이디어 적용  문제 링크https://leetcode.com/problems/can-place-flowers/?envType=study-plan-v2&envId=leetcode-75  문제풀이아이디어, 나 자신을 제외한 모든 수를 곱하는 거라서, 이미 모든 수를 다 곱해놓고, 출력 전에 나 자신으로 나누기이 과정에서 특정 조건을 만족한 경우 엣지케이스를 통한 처리로 시간 복잡도 줄임 분석 및 주의점0이 2개 이상이면 모든 자리는 0이므로 전체 곱을 수행하는 도중에 0이 2개 이상이라..