Krononberg

1079. Letter Tile Possibilities.cpp 본문

개발 로그/알고리즘

1079. Letter Tile Possibilities.cpp

k._. 2021. 10. 7. 17:21

backtracking.. 필사수준으로 따라써봄..

//https://www.youtube.com/watch?v=6Sux9KoPJsc&ab_channel=CogentCoder

class Solution {
public:
    set<string>res;
    map<int,int>flag;
    string S;
    
    void solve(string tiles){
        for(int i =0; i<tiles.size(); i++){
            if(flag[i]!=1){
                S.push_back(tiles[i]);
                flag[i]=1;
                res.insert(S);
                solve(tiles);
                flag[i]=0;
                S.pop_back();
            }
        }
    }
    
    int numTilePossibilities(string tiles) {
        solve(tiles);
        return res.size();
    }
};