문제 난이도 : Easy


문제 유형 : Data Structures - String


문제 설명 간략 :

string 배열의 공통된 prefix를 출력하라.


제약사항

  • 1 <= strs.length <= 200
  • 0 <= strs[i].length <= 200
  • strs[i] consists of only lower-case English letters.



자바 풀이

class Solution {
    public String longestCommonPrefix(String[] strs) {

        StringBuilder sb = new StringBuilder();

        boolean hasPrefix = true;

        int shortestLength = 200;

        for(int i = 0; i < strs.length; i++) {
            int sl = strs[i].length();
            if(shortestLength > sl) {
                shortestLength = sl;
            }
        }

        int idx = 0;

        while(hasPrefix && idx < shortestLength) {
            char c = strs[0].charAt(idx);
            for(int j = 1; j < strs.length; j++) {
                if(strs[j].charAt(idx) != c) {
                    hasPrefix = false;
                    break;
                }
            }

            if(hasPrefix) {
                sb.append(c);
                idx++;
            }
        }

        String prefix = sb.toString();
        return prefix;


    }
}



출처

해커랭크 문제