하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (181차)
[4코1파] 2023.01.13~ (173일차)
[1스4코1파] 2023.04.12~ (84일차)
[1스4코2파] 2023.05.03 ~ (62일차)
2023.07.03 [181일차]
LeetCode Patterns
11. Container With Most Water
https://leetcode.com/problems/container-with-most-water/
https://leetcode.com/problems/container-with-most-water/
문제 설명
문제 풀이 방법
brute force 사용해서 완전 탐색하면 time 초과가 남
two pointer 를 이용해서 푸는 문제
left, right를 움직이면서 안에 있는 물의 면적을 구하는 공식을 잘 산정하면됨
면적은, 오른쪽인덱스의 값에서 왼쪽 인덱스의 값을 뺀 값이 밑변이고
높이는 오른쪽인덱스와 왼쪽인덱스 중 작은 갚이 됨
내 코드
class Solution:
def maxArea(self, height: list[int]) -> int:
ans = 0
left, right = 0, len(height)-1
while left<right:
area = (right-left) * min(height[left], height[right])
ans = max(ans, area)
if height[left] < height[right]:
left+=1
else:
right-=1
return ans
증빙
여담
에너지없어