반응형
문제 설명
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- letter은 길이가 1인 영문자입니다.
- my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
- 대문자와 소문자를 구분합니다.
입출력 예
my_string | letter | result |
"abcdef" | "f" | "abcde" |
"BCBdbe" | "B" | "Cdbe" |
소스코드
Solution.c
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string, const char* letter) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int len = strlen(my_string);
int j=0;
char* answer = (char*)malloc(len-1);
for(int i=0; i<len; i++){
if(my_string[i] != letter[0])
answer[j++] = my_string[i];
}
answer[j] = NULL;
return answer;
}
풀이
입력받는 배열 my_string의 길이를 len으로 선언해준다. 그리고 letter에 대한 글을 지우는 것이기 때문에 for문을 이용하여 my_string을 answer에 넣는 과정에서 if문으로 my_string의 값과 letter가 같을 때는 넘어가고 나머지 경우에만 answer에 넣어준다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr