반응형
프로그래머스 코딩 테스트 문제 "글자 지우기"를 풀어본다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// indices_len은 배열 indices의 길이입니다.
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string, int indices[], size_t indices_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(strlen(my_string) + 1);
char* imsi = (char*)malloc(strlen(my_string) + 1);
// imsi 배열에 my_string 배열 복사
strcpy(imsi, my_string);
// indices에 해당하는 값을 없애기 위해 '0'으로 표시
for(int i = 0;i < indices_len;i++) {
imsi[indices[i]] = '0';
}
// '0'으로 표시한 것을 제외하고 이어 붙인다.
int ptr = 0;
for(int i = 0;imsi[i] != '\0';i++) {
if(imsi[i] != '0')
answer[ptr++] = imsi[i];
}
answer[ptr] = '\0';
return answer;
}반응형



