문제 설명
- 대문자와 소문자가 섞여있는 문자열 s가 주어집니다.
- s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요.
- 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다.
- 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
- 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.
p 랑 y 대소문자 구분 없이 개수 파악해서 같으면 true, 다르면 false 👍
둘 다 없으면 true 👌
제한사항
- 문자열 s의 길이 : 50 이하의 자연수
- 문자열 s는 알파벳으로만 이루어져 있습니다.
입출력 예
s answer
"pPoooyY" true
"Pyy" false
<입출력 예 설명>
입출력 예 #1
'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.
입출력 예 #2
'p'의 개수 1개, 'y'의 개수 2개로 다르므로 false를 return 합니다.
어떻게 풀까? 🙄
function solution(s){
let count = 0
let str = s.toUpperCase()
for(let i = 0; i < s.length; i++){
if(str[i] === 'P'){
count += 1
}else if(str[i] === 'Y'){
count -= 1
}
}
return count === 0 ? true : false
}
count 변수를 지정해서 이리 돌리고 저리 돌리고 하다가
'P' 나오면 더해주고 'Y' 나오면 빼줬을 때 0 나오면 같은거잖아!!!╰(°▽°)╯
오케이 레스기릿 하고 짠 코듭니다. 👍
split() 한번 써보면 될 거 같은데?? 하다 생겨난 미친 코드
function solution(s){
return s.toUpperCase().split('P').length === s.toUpperCase().split('Y').length
}
훌리 쉣 이걸 내가 생각해내다니 코딩하고 탄성을 질러버렸다(╯°□°)╯︵ ┻━┻
'P' / 'Y' 가 같은 개수로 들어가 있으면 split()으로 도출된 배열의 길이가 같을 것이라는 생각이 어떻게 났는지 스스로가 대견해버린다
미친