문제 설명
제한 사항
입출력 예
s | answer |
---|---|
"pPoooyY" | true |
"Pyy" | false |
입출력 예 설명
문제 풀이
function solution(s){
var answer = true;
let countP = 0; // P 카운트 할 countP 변수 선언 후 값 0으로 초기화
let countY = 0;// Y 카운트 할 countY 변수 선언 후 값 0으로 초기화
let str = s.toUpperCase(); // s값을 대문자로 바꿔준 후 str에 저장하여 선언
for(let i = 0 ; i < str.length ;i++){
if(str[i]=== 'P'){ //str의 i값이 P와 일치하면
countP++ //countP에 1을 더한다
}else if(str[i] === 'Y'){ //str의 i값이 Y와 일치하면
countY++ //countY에 1을 더한다
}
}
if(countP !== countY){ //countP와 countY가 같지 않다면
answer = false //false로 반환
}else {
answer = true; //true로 반환
}
return answer;
}
console.log(solution("Pyy"))
for문과 if문의 조합으로 풀어가려 했으나 count 부분은 생각지 못했어서 다른 사람의 풀이를 조금 참고하여 풀었다.
다른 사람의 풀이
function numPY(s){
return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}
console.log(numPY("pPoooyY"))
s값을 대문자로 바꿔준 뒤 P 기준으로 분리한 길이가 Y기준으로 분리한 길이와 일치하는지 확인하는 것 같은데 신기하고 깔끔하면서도 약간은 이해가 덜 됐다.. 팀원에게 물어봐야지