input 값 's' 에 대해서, 'p' 와 'y'의 개수를 비교해 같으면 True, 다르면 False를 리턴하는 문제이다.

'p' 와 'y' 둘 다 없으면 무조건 True를 리턴한다.

 

s 안의 문자들을 체크할 때 대문자와 소문자 모두 있는지 확인해줘야 한다

 

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

bool solution(string s)
{
    bool answer = true;
    
    int p_cnt = 0;
    int y_cnt = 0;
    int s_len = s.length();
    
    for(int i = 0; i < s_len; i++)
    {
        if(s[i] == 'p' || s[i] == 'P')
        //if(s[i] == 80 || s[i] == 112)
        {
            p_cnt++;
        }
        else if(s[i] == 'y' || s[i] == 'Y')
        //else if(s[i] == 121 || s[i] == 89)
        {
            y_cnt++;
        }
    }
    
    if(p_cnt != y_cnt)
    {
        answer = false;
    }

    return answer;
}

+ Recent posts