문자를 숫자로 변환하는 문제이다.
문자는 특정 숫자와 치환 가능하다는 점을 활용하면 된다.
#include <iostream>
using namespace std;
string str;
int N, sum;
int main()
{
ios::sync_with_stdio(0), cin.tie(0);
cin >> N;
cin.ignore();
while (N--)
{
getline(cin, str);
sum = 0;
for (char c : str)
{
if (c >= 'A' && c <= 'Z')
{
sum += c - 'A' + 1;
}
}
cout << (sum == 100 ? "PERFECT LIFE" : to_string(sum)) << "\n";
}
return 0;
}
A와 Z 사이의 문자인 경우 A를 빼면 0부터 시작하는 숫자 값을 가지게 된다. 이 값을 1 더하면 인생 점수에 쓰이는 점수가 나온다. 이 점을 활용하여 문자열을 인생 점수로 환산하고 100점인지 확인하면 된다.