ASCII 아스키 코드를 이용한 풀이
아스키 코드를 이용하면 string에서 각 문자열이 어떤지를 쉽게 나눌 수 있다. ASCII 표에 대한 정보는 References 참조!
#include <string>
#include <vector>
using namespace std;
string solution(string myString) {
string answer = myString;
for (int i=0; i<answer.size(); i++){
if (answer[i] - 0 == 97){
answer[i] -= 32;
}
if (66 <= answer[i] && answer[i] <= 90){
answer[i] += 32;
}
}
return answer;
}
cctype을 이용한 풀이
cctype header에서는 여러 기능들을 제공하는데, 자주 사용하는 것은 islower()
isupper()
tolower()
toupper()
가 있다. 이것을 이용하면 쉽게 대소문자를 판별할 수 있다.
#include <string>
#include <vector>
using namespace std;
string solution(string myString) {
string answer = "";
for(char ch : myString)
{
if(ch == 'A' || ch == 'a')
answer += 'A';
else
answer += tolower(ch);
}
return answer;
}