문자열의 길이가 짝수인 문자열 s가 주어질 때 s를 절반으로 나누어서 앞쪽 절반을 a, 뒤쪽 절반을 b라고 할 때
a,b 의 모음의 수가 같으면 alike 라고 한다.
만약 주어진 s가 alike이면 true를 아니라면 false를 리턴하는 문제이다.
Example을 보자
const halvesAreAlike = function (s) {
const a = s.slice(0, s.length / 2);
const b = s.slice(s.length / 2);
const vowels = (string) => {
const matches = string.match(/[aeiou]/gi);
return matches ? matches.length : 0;
};
return vowels(a) === vowels(b) ? true : false;
};
먼저 문자열을 파라미터로 받았을 때 문자열 내의 모음의 갯수를 리턴해주는 도우미 함수를 만들기로 했다.
정규식을 사용해서 match 메소드를 이용해서 모음의 갯수를 리턴해주는 함수를 만든다음
s를 a,b 두 파트로 나눈다음 vowels(a) 와 vowels(b) 의 값을 비교해서 둘의 값이 같다면 true를 아니라면 false를 리턴해주었다.
submit을 해보니
정답이었다!