[프로그래머스] Lv.1 문자열 내 p와 y의 개수 - JS
문제 설명
대문자와 소문자가 섞여있는 문자열 s
가 주어집니다. s
에 ‘p’의 개수와 ‘y’의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. ‘p’, ‘y’ 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s
가 “pPoooyY”면 true를 return하고 “Pyy”라면 false를 return합니다.
제한사항
- 문자열
s
의 길이 : 50 이하의 자연수 - 문자열
s
는 알파벳으로만 이루어져 있습니다.
입출력 예
s | return |
---|---|
“pPoooyY” | true |
“Pyy” | false |
입출력 예 설명
입출력 예 #1
- ‘p’의 개수 2개, ‘y’의 개수 2개로 같으므로 true를 return 합니다.
입출력 예 #2
- ‘p’의 개수 1개, ‘y’의 개수 2개로 다르므로 false를 return 합니다.
풀이
function solution(s) {
let pCount = 0;
let yCount = 0;
[...s].forEach((v) => {
if (v.toLowerCase() === 'p') pCount++;
else if (v.toLowerCase() === 'y') yCount++;
});
return pCount === yCount;
}
개선
function solution(s) {
return s.toLowerCase().split('p').length === s.toLowerCase().split('y').length;
}
비교할 문자열을 split해서 배열로 만든 후 길이 비교
댓글남기기