strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.
예를 들어 strs = ['start', 'stair', 'step'] return은 'st'
strs = ['start', 'wework', 'today'] return은 ''
문자열 인덱스에 접근해서 split() 으로 쪼개고 다시 변수에 할당하고 조건을 검사해서 리턴하는 방식으로 생각해보았는데 점점 문제와 멀어지는 것 같아서 오늘도 문제를 푸신 분 코드를 보고 이해하였다
const getPrefix = (strs) => {
let prefix = strs[0]; // prefix 변수에 srts 배열 인덱스의 0번째인 'start' 값을 할당한다
if(strs.length === 0){ // strs 배열의 길이가 0이라면
prefix = ""; // prefix 변수에 "" 공백을 할당한다
}
for(let i=0; i<strs.length; i++){ // i가 strs 배열의 길이만큼 반복하고
while(strs[i].indexOf(prefix) !== 0){ // strs의 i번째 인덱스가 prefix 변수에 할당된 'start' 값과 일치하면 0을 리턴하고 없으면 -1을 리턴한 결과가 0이 아니라면 ('start' 와 일치하지 않는다면)
prefix = prefix.substring(0, prefix.length-1) // prefix 변수에 담긴 'start' 문자의 0번째 인덱스부터 'start' 문자의 종료 인덱스인 4에서 1을뺀 즉 3번째 인덱스전까지의 부분 문자열을 반환하는걸 반복한다
console.log('prefix:' + prefix)
}
}
return prefix;
}

