# 연관 링크
- [문제 풀이 스케줄](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/word-search/submissions/1617585274/
- 문제 이름 : word search
- 문제 번호 : 79
- 난이도 : medium
- 카테고리 :

# 문제 설명


# 아이디어
- 어떤 방법으로 접근했는지 서술
- 포스 vs 최적화 아이디어 차이 등
- 잡도에 대한 고려

# ✅ 코드 (Solution)
```cpp

class Solution {
public:
    bool dfs(int i,int j,int count,vector<vector<char>>& board,string word){
        if(word.length()==count) return true;
        
        if(i<0 || i>=board.size() || j<0 || j>=board[0].size() || board[i][j] != word[count])
            return false;
        
        
        
        char temp = board[i][j];                  
        board[i][j] = ' ';                        
        
        
        bool ans = dfs(i-1,j,count+1,board,word) || 
                   dfs(i+1,j,count+1,board,word) ||
                   dfs(i,j-1,count+1,board,word) ||
                   dfs(i,j+1,count+1,board,word);
        
        board[i][j] = temp;                         
        return ans;
    }
    
    bool exist(vector<vector<char>>& board, string word){
        int n = board.size();                 
        int m = board[0].size();              
        
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                if(board[i][j]==word[0] && dfs(i,j,0,board,word)){
                    return true;
                }
            }
        }
        
        return false;
    }
};
```
# 🔍 코드 설명


# 최적화 포인트 (Optimality Discussion)
•	최적화한 이유와 원리
•	더 줄일 수 있는 여지는 있는가?
•	기존 방법 대비 얼마나 효율적이었는지

# 🧪 테스트 & 엣지 케이스

# 📚 관련 지식 복습

# 🔁 회고


