findShort.js (7kyu 08)

Codewars 알고리즘 풀이


Description

  • Given a string of words, return the length of the shortest word(s).
    • 단어의 문자열이 주어진다.
    • 가장 짧은 단어의 길이를 반환한다.
  • String will never be empty.
    • 문자열은 비어 있지 않다.



Solution 01

function findShort(str) {
  const arr = str.split(' ');
  let min = arr[0];
  
  for (let i = 1; i < arr.length; i++) {
    if (arr[i].length < min.length) {
      min = arr[i];
    }
  }
  
  return min.length;
}

findShort('abcd e fgh');          // 1
findShort('ab cde fghi');         // 2
findShort('How are you today?');  // 3


Solution 02

function findShort(str) {
  return str.split(' ').sort((a, b) => a.length - b.length)[0].length;
}

findShort('abcd e fgh');          // 1
findShort('ab cde fghi');         // 2
findShort('How are you today?');  // 3


Solution 03

function findShort(str) {
  return Math.min(...str.split(' ').map(i => i.length));
}

findShort('abcd e fgh');          // 1
findShort('ab cde fghi');         // 2
findShort('How are you today?');  // 3