[CodeKata_05] 공통된 시작단어 반환

devCecy·2020년 12월 6일
0

CodeKata

목록 보기
2/5
post-thumbnail

문제

strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.

예를 들어
strs = ['start', 'stair', 'step']
return은 'st'

strs = ['start', 'wework', 'today']
return은 ''

예시코드

예시코드를 이해하기위해, while과 indexOf 그리고 subString에 대해서 정확히 알아야 했다.
while은 조건문이 참일 때 실행되는 반복문이다.
indexOf는 포함하는 글자가 있다면 그 첫번째 인덱스 값을 반환해준다.
subString은 문자열의 범위를 지정하여 그 범위 만큼의 문자열을 반환한다.

strs = ['start', 'stair', 'step']

// strs = ['start', 'wework', 'today']
// strs = []

function getPrefix(strs) {
    if (strs.length === 0) 
      return ''; 
    
    let prefix = strs[0];  //start
    
    for (let i = 1; i < strs.length; i++) {
        while (strs[i].indexOf(prefix) !== 0) { // 같은 문자가 아니라면?? 이부분 의미 확인하기 
            prefix = prefix.substring(0, prefix.length - 1);
        }
    }
    
    return prefix;
}
getPrefix(strs)

while (strs[i].indexOf(prefix) !== 0) {prefix = prefix.substring(0, prefix.length - 1); 이부분의 의미를 아직 정확하게 이해하지 못했다. 다시 확인하기!!

profile
🌈그림으로 기록하는 개발자🌈

0개의 댓글