반응형
문자열 배열(String array)이 주어지면, 제일 긴 공통된 접두사(prefix)의 길이를 찾으시오.
Given an array of strings, find the logest common prefix of all strings.
예제)
Input : ["apple", "apps", "ape"]
Output : 2 // "ap"
Input : ["hawaii", "happy"]
Output : 2 // "ha"
Input : ["dog", "dogs", "doge"]
Output : 3 // "dog"
import java.util.Scanner;
public class TestCode2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력해주세요");
String input_str = sc.nextLine();
String str_arr[] = input_str.split(",");
int i = 1;
String prefix = "";
while(true) {
int flag = 0;
if(i <= str_arr[0].length()) {
prefix = str_arr[0].substring(0, i);
for(int j = 1; j< str_arr.length ; j++) {
if(str_arr[j].contains(prefix)) {
flag = 0;
}else {
flag = 1;
}
}
}else {
prefix = str_arr[0].substring(0, i-1);
break;
}
if(flag == 0) {
i++;
}else {
prefix = str_arr[0].substring(0, i-1);
break;
}
}
System.out.println("prefix = "+ prefix);
}
}
반응형