HackerRank/Algorithms

[HackerRank C] Strings : HackerRank in a String!

ruming 2021. 7. 11. 16:03

문자열 안에 hackerrank가 있는지 확인한다.

알파벳만 확인할 게 아니라 순서도 같이 봐야한다.

 

코드

char* hackerrankInString(char* s) {
    int i, j, len, seq=0;
    char *an = malloc(4);
    char h[] = "hackerrank";
    len = strlen(s);
    for(i=0; i<len; i++){
        if(h[seq] == s[i]){
            seq++;
        }
    }
    an = "NO";
    if(seq==10)  an = "YES";
    return an;
}

YES, NO를 리턴할 char형 포인터 변수 an을 할당하고 int형변수 len에 s의 길이를 저장한다.

for문으로 s를 돌면서 h의 알파벳과 같은 알파벳을 발견하면 순서를 넘긴다. 순서는 seq에 저장하고 hackerrank가 다 들어있을 경우 10이되기 때문에 10이면 an에 YES를 저장한다.