어흥

[해커랭크] Game of Thrones - I (C++) 본문

알고리즘/HackerRank

[해커랭크] Game of Thrones - I (C++)

라이언납시오 2021. 3. 11. 18:41
728x90
반응형

문제 링크: www.hackerrank.com/challenges/game-of-thrones/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=7-day-campaign

 

Game of Thrones - I | HackerRank

Check whether any anagram of a string can be a palindrome or not.

www.hackerrank.com

1. 주의할 점

- 팰린드롬을 직접 만들려고 하지 않는다

 

2. 구현

- 파라미터로 넘겨받은 S에 포함된 문자들의 수를 Alpha[] 배열에 갱신한다

- Alpha[] 배열의 값이 홀수인 경우, 팰린드롬을 생성할 때 무조건 가운데에 위치해야 하므로 홀수인 문자의 수는 1개만 있어야 한다

- 홀수인 문자가 2개 이상이면 NO를 리턴한다

- 이외의 경우엔 YES를 리턴한다

int alpha[26];

// Complete the gameOfThrones function below.
string gameOfThrones(string s) {
    for(int i=0;i<s.size();i++){
        char c = s[i];
        alpha[c-'a']++;
    }
    bool avail=true;
    bool odd = false;
    for(int i=0;i<26;i++){
        if(alpha[i]%2==1){
            if(odd) return "NO";
            else odd=true;
        }
    }
    return "YES";
}
728x90
반응형
Comments