Shortest Way to Form String

유승선 ·2024년 2월 14일
0

LeetCode

목록 보기
103/122

좀 아쉽게 생각만 하고 못풀어서 답을 참고한 문제다. 이 문제는 투포인터 타입의 문제였는데 단순하게 target 과 source 를 n^2로 탐색하면은 절대 못풀고 target 을 한번 루프 돌면서 source에서의 투포인터 관계를 만들어야 했다.

만약에 현재 내가 보고 있는 target 포인터 캐릭터와 source 포인터 캐릭터가 동일하다면? 두 포인터 값을 올려주고... 아니라면은 source 포인터 하나만 올려주면 됐다.

이렇게 캐릭터 하나하나 알 수 있는 투포인터 방법을 배우니깐 좋다.

class Solution {
public:
    int shortestWay(string source, string target) {
        int left = 0, right = 0; 
        int answer = 0;  
        bool flag = false; 

        while(right < target.length()){
            left = 0; 
            while(left < source.length()){
                if(source[left] == target[right]){
                    left++;
                    right++; 
                    flag = true; 
                } else{
                    left++; 
                }
            }
            if(!flag) return -1; 
            answer ++; 
            flag = false; 
        }

        return answer; 
    }
};
profile
성장하는 사람

0개의 댓글