[HackerRank/C++] Funny String

2023. 3. 6. 09:12코딩테스트 해커랭크/Algorithms -Easy

문자열 s를 받을때, s의 각 문자열마다 간격이 좌우 대칭일 경우 "Funny"를 아니라면 "Not Funny"를 return 한다

string funnyString(string s)
{
    vector<int> result;
    result.reserve(s.size() - 1);
    
    for (size_t i = 1; i < s.size(); ++i)
        result.push_back(abs(s[i] - s[i - 1]));
    
    vector<int> result2(result);
    
    reverse(result2.begin(), result2.end());
    
    if (result == result2)
        return "Funny";
    else
        return "Not Funny";
}

 

s의 간격 구해 result에 저장한다

 

result의 값을 reverse하고 이 값이 원래의 값과 같은지 확인하고, 같다면 "Funny"를, 아니라면 "Not Funny"를 return한다