혜랑's STORY

[HackerRank] Funny String 본문

2021 SISS 21기 활동/여름방학 C언어

[HackerRank] Funny String

hyerang0125 2021. 8. 12. 14:44
Practice > Algorithm > Strings

문제

code

char* funnyString(char* s) {
    char* r = malloc(sizeof(char)*strlen(s));
    
    for(int i=0; i<strlen(s); i++){
        r[i] = s[strlen(s) - i - 1];
    }
    
    for(int i=1; i<strlen(s); i++){
        if(abs(s[i] - s[i-1]) != abs(r[i] - r[i-1]))
            return "Not Funny";
    }
    
    return "Funny";
}
  • s 문자열의 길이만큼 문자열 r을 만들고, s 문자열을 뒤집에 r 문자열에 저장한다.
  • 문제에서 주어진 두 문자 사이의 차가 동일하지 않다면 "Not Funny"를 반환한다.
  • for문이 종료될 때까지 함수가 끝나지 않았다면 두 문자 배열의 양 문자 차가 동일하다는 것이므로 "Funny"를 반환하고 함수를 종료한다.

결과

'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글

[HackerRank] Marc's Cakewalk  (0) 2021.08.22
[HackerRank] Staircase  (0) 2021.08.22
[HackerRank] Sherlock and Cost  (0) 2021.08.12
[HackerRank] Counting Sort 2  (0) 2021.08.05
[HackerRank] Counting Sort 1  (0) 2021.08.05