본문 바로가기

TIL

[TIL-126] 위코드 26일차: 코드 카타

 

 

const getPrefix = strs => {

let prefix = "";

  if (strs.length) {
      const firstStr = strs[0];
      let isBreak = false;

      for(let j = 0; j < firstStr.length; j++) {
      
          if(isBreak) {break}

          let compareStr = firstStr.charAt(j)
          // console.log(firstStr, compareStr);

          for (let i = 1; i < strs.length; i++) {
          // console.log(strs[i].charAt(j))

            if (strs[i].charAt(j) !== compareStr) {
            isBreak = true;
              break
            }

            if (i === strs.length - 1) {
              prefix  = prefix + compareStr
            }

          }
          
      }
  }
  return prefix
}

console.log(getPrefix(['start', 'stair', 'step']))
if (strs.length === 0) {
	return ""
}

 

 

“string”.substring(가져오기 시작할 인덱스, 끝날 인덱스)
 

 

다른 답안

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

const getPrefix = strs => {
  let prefix = ""
  let standardWord = strs.pop()
  if(strs.length){
    for(let i=0; i<standardWord.length; i++){
      if(!strs.every(str=>str[i] === standardWord[i])) break;
      prefix += standardWord[i];
    }
  }
  return prefix
}

console.log(getPrefix(strs))

https://velog.io/@eunjin/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%97%AC%EB%9F%AC-%EA%B0%9C%EC%9D%98-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%9B%90%EC%86%8C%EB%A5%BC-%ED%99%95%EC%9D%B8%ED%95%98%EA%B3%A0-%EA%B3%B5%ED%86%B5%EB%90%9C-%EC%8B%9C%EC%9E%91%EB%8B%A8%EC%96%B4-%EB%B0%98%ED%99%98%ED%95%98%EA%B8%B0