https://programmers.co.kr/learn/courses/30/lessons/12916
코딩테스트 연습 - 문자열 내 p와 y의 개수
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를
programmers.co.kr
접근
먼저 입력받은 문자열을 모두 소문자로 변환한다. 그리고 한 개의 문자와 문자열을 전달받아 문자열 내의 문자의 개수를 반환하는 함수를 만들었다. 이후 반환된 개수를 변수에 저장하고 두 개의 변수를 비교하여 같으면 true, 다르면 false를 반환한다.
구현
- 입력받은 문자열 s를 소문자로 모두 변환한다.
- countWord라는 함수에서 한 개의 문자와 문자열을 입력받아 문자열 내의 문자의 개수를 카운트하여 반환한다.
- 반환된 개수를 a와 b 변수에 저장하고 이를 비교하여 true 또는 false를 반환한다.
function countWord(w, str) {
let count = 0;
for (let s of str) {
if(isEqual(w, s)) count += 1;
}
return count;
}
function isEqual(a, b) {
return a === b;
}
function solution(s){
let answer = false;
s = s.toLowerCase();
let a = countWord('p', s);
let b = countWord('y', s);
if (isEqual(a, b)) answer = true;
return answer;
}
'프로그래밍 > 함수형 프로그래밍' 카테고리의 다른 글
[함수형 프로그래밍] if문과 for문 (0) | 2021.11.05 |
---|---|
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 나누어 떨어지는 숫자 배열 (0) | 2021.08.09 |
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 제일 작은 수 제거하기 (0) | 2021.08.08 |
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 완주하지 못한 선수 (0) | 2021.08.07 |
[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 핸드폰 번호 가리기 (0) | 2021.08.06 |