문자열 안에 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를 저장한다.
'HackerRank > Algorithms' 카테고리의 다른 글
[HackerRank C] Implementation : Subarray Division (0) | 2021.07.18 |
---|---|
[HackerRank C] Warmup : Mini-Max Sum (0) | 2021.07.18 |
[HackerRank C] Strings : CamelCase (0) | 2021.07.11 |
[HackerRank C] Implementation : Grading Students (0) | 2021.07.11 |
[HackerRank C] Sorting : Counting Sort 1 (0) | 2021.05.23 |