char* solution(const char* code) {
char* answer = (char*)malloc(sizeof(code)/2);
char mode = '0';
int t=0;
for (int i=0; code[i]; i++) {
if (code[i] == '1' && mode == '1') {mode = '0'; continue;}
else if (code[i] == '1' && mode == '0') {mode = '1'; continue;}
if (mode == '0' && i%2 == 0) answer[t++] = code[i];
else if (mode == '1' && i%2 == 1) answer[t++] = code[i];
}
answer[t] = '\0';
if (answer[0] == '\0') return "EMPTY";
return answer;
}
처음에 이렇게 짰는데 실행만 통과하고 제출했을 때는 12, 13 빼고 다 실패했습니다.
그러다 strlen 써서 for문 조건식을 code[i] 에서 i<strlen(code)로 바꿔 해결했는데 code[i]를 쓰면 왜 안되는지 알고 싶습니다.
code[i]의 값이 뭔데요?
주어진 문자열의 인덱스에 해당하는 값이요. 질문글이 잘못되서 수정했습니다
아 다시 해보니까 되네요 할당 크기 문제였던거 같습니다