지영이의 개발 블로그
✔[프로그래머스]p와y의 개수 본문
✔문제설명
대문자와 소문자가 섞여있는 문자열 s가 주어집니다.
s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True,
다르면 False를 return 하는 solution를 완성하세요.
'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다.
단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.
제한사항
- 문자열 s의 길이 : 50 이하의 자연수
- 문자열 s는 알파벳으로만 이루어져 있습니다.
입출력 예시
sanswer
"pPoooyY" | true |
"Pyy" | false |
입출력 예시 설명
입출력 예 #1
'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.
입출력 예 #2
'p'의 개수 1개, 'y'의 개수 2개로 다르므로 false를 return 합니다.
<My solution>
<My solution>
🐰해설🐰
문자열은 .toLowerCase()함수를 이용해 소문자로 변환해주고 .split()메소드를 이용해 p를 기준으로 문자열을 나눠주고 y를 기준으로 문자열을 나눠준거을 .length()를 이용해 길이를 저장해준후
check_p 와 check_y 의 길이가 같다면 true를, 다르면 false를 return 한다.
<Other solution>
🐰해설🐰
.match()함수와 정규식 표현식을 사용했다 먼제 p와 y가 있는지 확인하고 i는 대소문자 상관없이 g는 전부 찾으라는 플래그를 이용해 p와 y의 개수를 각각 구해서 두값이 동일하면 true를 동일하지 않으면 false를 반환한다 .
<Other solution>
🐰해설🐰
spread 연산자를 사용해서 배열로 만들어 주고 "pPoooyY" = >["p","p","o","o","o","y","y"]
reduce 함수를 사용해 조건에 맞는 누적된 합을 계산해 주고 acc가 0이면 true 1이면 false를 return 해줌
'코딩 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 신규 아이디 추천 (0) | 2022.06.27 |
---|---|
✔[프로그래머스]약수의 개수와 덧셈 (0) | 2022.06.23 |
[프로그래머스] 시저 암호 (0) | 2022.06.18 |
✔[프로그래머스]소수 찾기 (0) | 2022.06.17 |
✔[프로그래머스]핸드폰 번호 가리기 (0) | 2022.05.29 |