코딩테스트

[leetcode] 14. Longest Common Prefix

nayoon 2024. 8. 1. 07:08

문제

 

1. 첫번째 스트링을 prefix 기준으로 세움

2. 스트링 배열 내 요소들과 비교

3. 스트링 배열 크기가 1일 경우 첫번째 스트링 바로 리턴

4. 스트링 배열 내 요소 중 크기가 prefix의 크기보다 작을 경우 prefix의 크기를 substring

 

class Solution {
    public String longestCommonPrefix(String[] strs) {
        String prefix = strs[0];

        if (strs.length == 1) {
            return prefix;
        }

        for(int i = 1; i < strs.length; i++) {
            String str = strs[i];
            
            if(prefix.length() > str.length()) {
                prefix = prefix.substring(0, str.length());
            }
            
            for(int j = 0; j < Math.min(prefix.length(), str.length()); j++) {
                if (prefix.charAt(j) != str.charAt(j)) {
                    prefix = prefix.substring(0, j);
                    break;
                }
            }
        }
        return prefix;
    }
}