문자열의 p와 y 수 / Lv.1
문제 설명)
대문자와 소문자가 혼합된 문자열 s가 주어집니다.
s 에 ‘p’ 의 개수와 ‘y’ 의 개수를 비교해 동일한 경우는 True, 다른 경우는 False 를 return 하는 solution 를 완성해 주세요. ‘p’, ‘y’ 어느 쪽도 없는 경우는 항상 True 를 돌려줍니다.
그러나 숫자를 비교하면 대소문자를 구분하지 않습니다.
예를 들어 s가 ‘pPoooyY’이면 true를 반환하고 ‘Pyy’이면 false를 반환합니다.
제한사항)
- 문자열 s 길이: 50 이하의 자연수
- 문자열 s 는 알파벳으로만 구성됩니다.
입출력 예)
입출력 예 설명)
입출력 예 #1
‘p’ 의 개수 2 개, ‘y’ 의 개수 2 개로 동일하므로 true 를 return 합니다.
입출력 예 #2
‘p’ 의 개수 1 개, ‘y’ 의 개수 2 개로 다르므로 false 를 return 합니다.
풀)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <문자열>
#include <algorithm>
using 네임스페이스 std;
bool 솔루션 (문자열 s)
{
bool answer = true;
// s 전체를 소문자로 변환
transform(s.begin(), s.끝(), s.begin(), ::tolower);
// p와 y의 카운트
int p = 0y = 0;
for(int i = 0;i < s.length(); i++)
{
if (s(i) == ‘p’) p++;
else if (s(i) == “y”)y++;
}
if (p == y) answer = true;
else answer = false;
return answer;
}
|
cs |
출처: https://school.programmers.co.kr/learn/courses/30/lessons/12916