본문 바로가기

C/코딩 기초 트레이닝

코드 처리하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
char* solution(const char* code) {
    char* answer = (char*)malloc(strlen(code)+1);
    answer[0]='\0';
    bool mode=0;
    int j=0;
    for(int i=0;i<strlen(code);i++) {
        if(code[i]=='1') {
            mode=!mode;
            continue;
        }
        if(mode==0 && i%2==0) {
            answer[j]=code[i];
            j++;
        }
        else if(mode==1 && i%2!=0) {
            answer[j]=code[i];
            j++;
        }
    }
    if(answer[0]=='\0')
        answer="EMPTY";
    else
        answer[j]='\0';
    return answer;
}
cs

 

answer가 빈 문자열인 경우 "EMPTY"를 리턴하는 조건이 있으므로,  문자열 answer의 첫번째 원소에 널 문자를 저장한다.

이후 answer에 문자가 저장되지 않으면 answer[0]에 널 문자가 그대로 저장되어 있을 것이므로 조건문을 이용하여 answer에 "EMPTY"를 저장한다.

'C > 코딩 기초 트레이닝' 카테고리의 다른 글

마지막 두 원소  (1) 2024.02.05
이어 붙인 수  (0) 2024.02.05
더 크게 합치기  (0) 2024.02.04
조건 문자열  (0) 2024.01.12
문자 리스트를 문자열로 변환하기  (0) 2024.01.12