반응형
소스 해석은 추 후에 올립니다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
// zero one two three four five six seven eight nine ten
int solution(const char* s) {
int length = strlen(s);
int answer = 0;
for (int i=0;i<length;i++){
if ('0'<=s[i]&&s[i]<='9'){
answer = answer*10;
answer += s[i]-'0';
}
else if (s[i]=='o'){ //1
answer = answer*10;
answer += 1;
i = i+2;
}
else if (s[i]=='t'&&s[i+1]=='w'){ //2
answer = answer*10;
answer += 2;
i = i+2;
}else if (s[i]=='t'&&s[i+1]=='h'){ //3
answer = answer*10;
answer += 3;
i = i+4;
}else if (s[i]=='f'&&s[i+1]=='o'){ //4
answer = answer*10;
answer += 4;
i = i+3;
}
else if (s[i]=='f'&&s[i+1]=='i'){ //5
answer = answer*10;
answer += 5;
i = i+3;
}else if (s[i]=='s'&&s[i+1]=='i'){ //6
answer = answer*10;
answer += 6;
i = i+2;
}else if (s[i]=='s'&&s[i+1]=='e'){ //7
answer = answer*10;
answer += 7;
i = i+4;
}else if (s[i]=='e'){ //8
answer = answer*10;
answer += 8;
i = i+4;
}else if (s[i]=='n'){ //9
answer = answer*10;
answer += 9;
i = i+3;
}
else{ //0
answer = answer*10;
i = i+3;
}
}
return answer;
}
반응형