알고리즘 문제풀이/LeetCode

LeetCode 14번 - Longest Common Prefix

leetcode.com/problems/longest-common-prefix/

 

Longest Common Prefix - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

int compare(string a, string b){
         return a.size() < b.size();
     }

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        string result = "";
        if(strs.size()==0){
            return result;
        }
        sort(strs.begin(),strs.end(),compare);
        
        //첫번째 문자열의 인덱스 하나 하나
        for(int j=0; j<strs[0].size(); j++){
            //다음 문자열의 인덱스 하나 하나 
            int i = 0;
            while(i<strs.size()){
                if(strs[0].at(j) == strs[i].at(j)){
                }
                else{
                    return result;
                }
                i++;
            }
            result += strs[0].at(j);
        }
        
        return result;
    }
};


//1)먼저 문자 길이대로 정렬
//2)가장 짧은 문자를 기준으로 다른것과 하나씩 확인
//3)다르면 멈추고 리턴, 바뀐게 없으면 ""리턴

처음에 length가 0일 경우의 예외처리를 해주지 않으니까 runtime error가 났었다. 혹시 runtime error가 난다면, 이 부분을 참고하기를 바란다.