strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.
예를 들어 strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ''
소요시간 : 40분
1. 기준을 세우기 위해서 배열 중 첫번째 단어를 값으로 가지는 변수를 선언합니다.
2. 해당 변수의 값과 배열의 다른 요소를 비교합니다.
3. 변수와 선택된 배열 요소의 공통된 시작 부분을 구할 때 까지 돌아가는 함수를 만듭니다.
4. 3번의 결과값으로 나온 값을 변수에 넣어주고 그 다음 선택된 요소와 비교하여 다시 공통 시작된 부분을 찾습니다. 이러한 방식으로 배열의 끝까지 탐색합니다.
5. 위에 식들이 끝나면 모든 배열 요소의 공통된 시작 단어를 반환합니다.
배열의 길이가 0인 경우를 예외처리 해줍니다.
const getPrefix = strs => {
let prefix = strs[0]; // 배열의 첫번째 요소를 가지는 변수 선언
if(strs.length===0) return ""; // 배열의 길이가 0인 경우 예외 처리
for(let i= 0; i<strs.length; i++){ // 배열 모든 요소를 탐색하기 위한 for문
while(strs[i].indexOf(prefix)!==0){ // 선택된 요소가 변수의 값으로 시작하는지 확인
prefix.slice(0,prefix.length);// 아니라면 slice 함수를 통해 변수의 맨 마지막 문자를 제거
// 선택된 요소가 변수의 값으로 시작될 때 까지 while문을 돌린다.
}
return prefix; //모든 배열 요소를 탐색하여 공통 시작 단어를 구한 뒤 리턴
}