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;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 (0) | 2020.12.14 |
---|---|
[프로그래머스] 두 정수 사이의 합 (0) | 2020.12.13 |
[프로그래머스] 문자열 다루기 기본 (0) | 2020.12.12 |
[프로그래머스] 2016년 (0) | 2020.12.09 |
[프로그래머스] k 번째 수 (0) | 2020.12.09 |