countLowercase.js (8kyu 89)

Codewars 알고리즘 풀이


Problem

  • Your task is simply to count the total number of lowercase letters in a string.
    • 문자열의 소문자 수를 계산한다.


Solution 01

function countLowercase(str) {
  return str.replace(/[^a-z]/g, '').length;
}

countLowercase('');          // 0
countLowercase('abcdEFGH');  // 4
countLowercase('@#!?abcd');  // 4

정규표현식 (RegExp)

replace(): 대응되는 문자열을 찾아 다른 문자열로 치환한다.

[^ ]: 부정 (= not)

g: 전역 검색


Solution 02

function countLowercase(str) {
  return (str.match(/[a-z]/g) || []).length;
}

countLowercase('');          // 0
countLowercase('abcdEFGH');  // 4
countLowercase('@#!?abcd');  // 4

정규표현식 (RegExp)

match(): 문자열에서 정규식과 일치하는 문자를 검색하고, 배열로 반환한다.


Solution 03

function countLowercase(str) {
  return str.match(/[a-z]/g) ? str.match(/[a-z]/g).length : 0;
}

countLowercase('');          // 0
countLowercase('abcdEFGH');  // 4
countLowercase('@#!?abcd');  // 4