티스토리 뷰

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

bool solution(string s)
{
	int pCnt = 0, yCnt = 0;
	std::transform(s.begin(), s.end(), s.begin(), ::tolower);
	for (int i = 0; s[i] != '\0'; i++) {
		if (s[i] == 'p') pCnt++;
		else if (s[i] == 'y') yCnt++;
	}
	return (pCnt == yCnt);
}

대문자 소문자 변환을 배웠다.

대문자 <-> 소문자 변환을 위해서는 transform 함수를 사용한다. 알고리즘 헤더를 추가해야한다.

using namespace std를 했는데 왜 std:: 를 안붙이면 에러가 나는지 모르겠다.

 

굳이 transform 안쓰고 아래처럼 단순하게 해도 된다.

bool solution(string s)
{
	int pCnt = 0, yCnt = 0;
	for (int i = 0; s[i] != '\0'; i++) {
		if (s[i] == 'p' || s[i] == 'P') pCnt++;
		else if (s[i] == 'y' || s[i] == 'Y') yCnt++;
	}
	return (pCnt == yCnt);
}
댓글