글자 지우기

코딩테스트 2025. 9. 20. 10:37
반응형

프로그래머스 코딩 테스트 문제 "글자 지우기"를 풀어본다.

#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;
}
반응형

'코딩테스트' 카테고리의 다른 글

옹알이 (1)  (0) 2025.09.20
주사위 게임 3  (0) 2025.09.20
수열과 구간 쿼리 2  (0) 2025.09.20
리스트 자르기  (0) 2025.09.20
접미사 배열  (0) 2025.09.20
Posted by 세상을 살아가는 사람
,