https://leetcode.com/problems/longest-common-prefix/description/
/**
1. 문제 해석하기
가장 긴 공통 prefix를 찾는 문제이고 없으면 "" 반환
2. 문제 풀이 방향
이중 for문으로 풀고 만약 common prefix가 ""이면 바로 반환
최초 common prefix는 배열의 첫번째 인덱스 요소가 되고
이후 비교를 통해서 찾아가도록 문제를 풀어갈 예정입니다.
*/
class Solution {
public String longestCommonPrefix(String[] strs) {
String commonPrefix = strs[0];
for(int i = 0; i < strs.length; i++) {
commonPrefix = findCommonPrefix(commonPrefix, strs[i]);
if (commonPrefix.equals("")) {
break;
}
}
return commonPrefix;
}
public String findCommonPrefix(String prefix, String str) {
for(int i = 0; i < str.length() && i < prefix.length(); i++) {
if (prefix.charAt(i) != str.charAt(i)) {
return prefix.substring(0, i);
}
}
if (prefix.length() > str.length()) {
return str;
}
return prefix;
}
}
String substring
- substring(int index) - index부터 마지막 요소까지 반환
- substring(int beginIndex, int endIndex) - beginIndex부터 endIndex까지 반환
'코딩테스트' 카테고리의 다른 글
9. Palindrome Number (0) | 2024.02.16 |
---|---|
234. Palindrome Linked List (0) | 2024.02.16 |
844. Backspace String Compare (0) | 2024.02.12 |
13. Roman to Integer (0) | 2024.02.08 |
136. Single Number (1) | 2024.02.07 |