728x90
반응형
input: s = "pPoooyY"
output: true
1. 내가 푼 풀이
function solution(s){
let p = 0;
let y = 0;
let s_arr = s.split('');
s_arr.forEach(x => {
if(x === 'p' || x === 'P')
p++;
else if(x === 'y' || x === 'Y')
y++;
});
if(p === y) {return true;}
else { return false;}
}
* 문자열을 배열로 변환 > p의 개수와 y의 개수 카운트 > 두개의 수개 같으면 true 아니면 false 반환
2. 다른 사람 풀이
function numPY(s){
return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}
> 모두 대문자로 변경후, P로 나눈 길이 = Y로 나눈 길이
function numPY(s){
return s.match(/p/ig).length == s.match(/y/ig).length
}
> 정규식으로 ( i: 대소문자 구분없이 / g : 전역) p와 y의 길이 비교하기
2-1. 강의 풀이
function solution(s){
var result = true;
s = s.toUpperCase();
var num = 0;
for(var i = 0; i < s.length; i++){
if(s[i] === 'P') num++; // p이면 갯수 더하기
if(s[i] === 'Y') num--; // y이면 갯수 빼기
}
result = (num === 0); // p, y 갯수가 같으면 0 (p가 많으면 양수, 반대 음수)
return result;
}
* string.toUpperCase(); // 대문자로 모두 변경
[출처]
1. 프로그래머스
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 | JavaScript] 음양 더하기 (0) | 2023.10.13 |
---|---|
[프로그래머스 | JavaScript] 문자열 정렬하기 (1) (0) | 2023.10.13 |
[프로그래머스 | JavaScript] 최댓값 만들기(1) (0) | 2023.10.12 |
[프로그래머스 | JavaScript] 점의 위치 구하기 (0) | 2023.10.11 |
[프로그래머스 | JavaScript] 가위 바위 보 (0) | 2023.10.11 |