매일프로그래밍 - 실리콘밸리 패키지 문제 14

MP·2019년 12월 18일
0

문제

문자열 배열(string array)이 주어지면, 제일 긴 공통된 접두사(prefix)의 길이를 찾으시오.

Input

[“apple”, “apps”, “ape”]

Output

2 // “ap”

Input

[“hawaii”, “happy”]

Output

2 // “ha”

Input

[“dog”, “dogs”, “doge”]

Output

3 // “dog”

bool allSame(char str[][], int n, int pos) {
  int i;
  char c = str[0][pos], o;
  if (c == 0) return false;
  for (i = 1; i < n; i++) {
    o = str[i][pos];
    if (o == 0 || c != o) return false;
  }
  return true;
}
int getLongestCommonPrefixLength(char str[][], int n) {
  int l;
  for (l = 0; allSame(str, n, l) == true; l++) ;
  return l;
}

0개의 댓글