14. Longest Common Prefix

Fekim·2022년 1월 18일
0

ps

목록 보기
2/48

문제정의

  • 문자열 배열을 인자로 입력받아, 문자열들의 Longest Common Prefix를 반환하는 함수를 구현한다.
  • Prefix는 한국어로 접두어를 뜻한다.
<ex1>
Input: strs = ["flower","flow","flight"]
Output: "fl"
<ex2>
Input: strs = ["dog","racecar","car"]
Output: ""

풀이

public class Solution 
{
    public String longestCommonPrefix(String[] strs) 
    {
        StringBuffer str_temp = new StringBuffer(strs[0]);
        boolean flag = true;
        int len = str_temp.length();

        for (int j = 0; j < len; ++j)
        {

            for(int i=0; i < strs.length; ++i)
            {
                if (strs[i].indexOf(str_temp.toString()) != 0)
                    flag = false;
            }
            if(flag == false)
                str_temp.deleteCharAt(str_temp.length()-1);
            else
            {
               return str_temp.toString();
            }
            flag = true;
        }
        return null;
    }
}
  • String 은 문자열의 변형이 어렵기 때문에, StringBuffer를 사용했다.
  • 입력받은 배열중 첫 문자열을 StringBuffer에 넣고, StringBuffer의 끝자리를 하나씩 제거하며, 모든 문자열과 비교하였다. (모든 문자열이 같은 접두어를 포함하고 있어야 하기 때문에)
profile
★Bugless 2024★

0개의 댓글