대문자와 소문자가 섞여있는 문자열 s가 주어진다. s에 있는
p
의 개수와y
의 개수가 같으면 True, 다르면 False를 return하는 함수 solution을 완성하라.
- 제한조건
p
,y
모두 하나도 없는 경우, True- 개수를 비교할 때 대문자와 소문자는 구별하지 않음
- Example
function solution(s){
return (s.toLowerCase().split('p').length) === (s.toLowerCase().split('y').length);
}
📍 풀이과정
toLowerCase()
혹은toUpperCase()
를 사용해 대문자, 소문자 중 하나로 통일시켜준다.p
를 기준으로 문자를 나누어준 뒤, 길이를 구하면p의 개수 + 1
값을 구할 수 있다.y
도 마찬가지로 구해준뒤, 비교해 참과 거짓을 판별해준다.
function solution(s){
const arr = s.toUpperCase().split('');
return arr.filter(v => v === 'P').length === arr.filter(v => v === 'Y').length;
}
filter()
메서드를 사용해 배열 내에 각각 'p'문자와 'y'문자를 찾아 새로운 배열을 만들어준 뒤, 길이로 비교해준다.
split()
String.split(seperator)
- String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눔
toUpperCase()
toLowerCase()
filter()
arr.filter(callback, thisArg)