728x90
🔥 Programmers Lv.1 : 문자열 내 p와 y의 개수
🔍 문제 : " 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. "
📎 조건 :
∙ 문자열 s의 길이 : 50 이하의 자연수
∙ 문자열 s는 알파벳으로만 이루어져 있습니다.
∙ 문자열 s의 길이 : 50 이하의 자연수
∙ 문자열 s는 알파벳으로만 이루어져 있습니다.
👉🏻 My answer
function solution(s){
return s.split(/p/ig).length == s.split(/y/ig).length;
}
: p의 개수와 y의 개수를 찾되, 소문자 대문자 구분없이 찾기 위해 정규식 ig를 이용해서 소문자 대문자 구분 없이 여러개를 찾아주었습니다.
👉🏻 Another ways
function solution(s){
return [...s.toLowerCase()].reduce((acc, cur) => {
if(cur ==='p') return acc + 1;
else if(cur ==='y') return acc - 1;
return acc;
}, 0) ? false : true;
}
: 너무 신박하네요.
'알고리즘 도장깨기' 카테고리의 다른 글
프로그래머스 Lv.1 "x만큼 간격이 있는 n개의 숫자" (2) | 2022.11.14 |
---|---|
프로그래머스 Lv.1 "핸드폰 번호 가리기" (1) | 2022.11.14 |
프로그래머스 Lv.1 "같은 숫자는 싫어" (2) | 2022.11.11 |
프로그래머스 Lv.1 "제일 작은 수 제거하기" (1) | 2022.11.10 |
프로그래머스 Lv.1 "문자열 내림차순으로 배치하기" (4) | 2022.11.09 |
댓글