SW/알고리즘

C++ : 프로그래머스 : 문자열 내 p와 y의 개수 : 풀이

얇은생각 2019. 6. 2. 12:30
반응형

풀이


#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

char easytolower(char in) {
if(in <= 'Z' && in >= 'A')
return in - ('Z' - 'z');
return in;
}

bool solution(string s)
{
int p = 0;
int y = 0;
transform(s.begin(), s.end(), s.begin(), easytolower);
for(int i = 0; i < s.size(); i++){
if(s[i] == 'p')
p++;
else if(s[i] == 'y')
y++;
}

if(p == y )
return true;
else
return false;
}




실행 결과

정확성 테스트
테스트 1 통과 (0.00ms, 3.84MB)
테스트 2 통과 (0.00ms, 3.82MB)
테스트 3 통과 (0.00ms, 3.82MB)
테스트 4 통과 (0.00ms, 3.8MB)
테스트 5 통과 (0.00ms, 3.81MB)
테스트 6 통과 (0.00ms, 3.91MB)
테스트 7 통과 (0.00ms, 3.91MB)
테스트 8 통과 (0.00ms, 3.77MB)
테스트 9 통과 (0.00ms, 3.78MB)
테스트 10 통과 (0.00ms, 3.82MB)
테스트 11 통과 (0.00ms, 3.82MB)
테스트 12 통과 (0.00ms, 3.76MB)
테스트 13 통과 (0.00ms, 3.77MB)
테스트 14 통과 (0.00ms, 3.77MB)
테스트 15 통과 (0.00ms, 3.76MB)
테스트 16 통과 (0.00ms, 3.79MB)
테스트 17 통과 (0.00ms, 3.92MB)
테스트 18 통과 (0.00ms, 3.87MB)
테스트 19 통과 (0.00ms, 3.86MB)
테스트 20 통과 (0.00ms, 3.91MB)
테스트 21 통과 (0.00ms, 3.77MB)
테스트 22 통과 (0.00ms, 3.77MB)
테스트 23 통과 (0.00ms, 3.75MB)
테스트 24 통과 (0.00ms, 3.76MB)
테스트 25 통과 (0.00ms, 3.79MB)
테스트 26 통과 (0.00ms, 3.88MB)
테스트 27 통과 (0.00ms, 3.76MB)
테스트 28 통과 (0.00ms, 3.77MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0




총평

대문자와 소문자를 같은 문자로 취급해야 합니다. 따라서 대문자인 경우에는 소문자로 변경하였습니다. 그 다음, p와 y를 체크하여 각 개수만큼 카운트를 하였습니다. 그 다음 개수가 같으면 true 아니면 false를 반환합니다.

반응형