# 연관 링크
- [문제 풀이 스케줄](https://github.com/orgs/DaleStudy/projects/6/views/5)
- [답안 코드 제출법](https://github.com/DaleStudy/leetcode-study/wiki/%EB%8B%B5%EC%95%88-%EC%A0%9C%EC%B6%9C-%EA%B0%80%EC%9D%B4%EB%93%9C)

# Problem
- 문제 링크 : https://leetcode.com/problems/container-with-most-water/description/
- 문제 이름 : Container with most water
- 문제 번호 : 11
- 난이도 : medium
- 카테고리 :

# 문제 설명

두 지점을 벽으로 선정해, 최대의 물이 담기는 경우를 찾는 문제


# 아이디어
- two pointer

# ✅ 코드 (Solution)

## brute force

```cpp
class Solution {
public:
    int maxArea(vector<int>& height) {
        int maxSize = 0;
        for(int i=0;i<height.size();i++){
            for(int j=i+1;j<height.size();j++){
                maxSize = max(maxSize, (j-i)*min(height[j], height[i]));
            }
        }
        return maxSize;
    }
};
```
- brute force
- O(n ^ 2)
- tle
## two pointer

```cpp
class Solution {
public:
    int maxArea(vector<int>& height) {
        int left = 0, right = height.size()-1;
        int maxArea = 0;

        while(left<right){
            maxArea = max((right-left) * min(height[left], height[right]), maxArea);

            if(height[left]>height[right]){
                right--;
            }else{
                left++;
            }
        }
        return maxArea;
    }
};

```
- two pointer
- O(n)

# 🔍 코드 설명


# 최적화 포인트 (Optimality Discussion)
- two pointer

# 🧪 테스트 & 엣지 케이스

# 📚 관련 지식 복습

# 🔁 회고


