// 문자열에서 a 문자를 b 문자로 변경
// @param str 문자열
// @param cmp 바꾸고자 하는 문자
// @param rep 대체 문자
void ReplaceCharacter(char* str, char cmp, char rep)
{
if (str[0] == '\0')
return;
if (str[0] == cmp)
str[0] = rep;
ReplaceCharacter(str + 1, cmp, rep);
}
// 문자열에서 특정 문자를 제거
// @param str 문자열
// @param cmp 삭제하고자 하는 문자
void RemoveCharacter(char* str, char cmp)
{
if (str[0] == '\0')
return;
// 한 칸 씩 땡김
if (str[0] == cmp)
{
for (int i = 0; str[i] != '\0'; i++)
str[i] = str[i + 1];
RemoveCharacter(str, cmp);
}
else
RemoveCharacter(str + 1, cmp);
}
// 문자열에서 중복된 문자를 제거
// @param str 문자열
void RemoveDuplicates(char* str)
{
// 다른 매개변수 불필요하니 임시로
static char cmp = '\0';
if (str[0] == '\0')
return;
// 한 칸 씩 땡김
if (str[0] == cmp)
{
for (int i = 0; str[i] != '\0'; i++)
str[i] = str[i + 1];
RemoveDuplicates(str);
}
else
{
cmp = str[0];
RemoveDuplicates(str + 1);
}
}
int main()
{
char str[] = "aaaabbfffffffe";
cout << "변경 전 : " << str << endl;
//ReplaceCharacter(str, 'b', 'f');
//RemoveCharacter(str, 'a');
//RemoveDuplicates(str);
cout << "변경 후 : " << str << endl;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C++] map value sort - 맵 값 정렬 (0) | 2023.12.19 |
---|---|
[C++] string > int 변환 (개인 작성) (0) | 2023.12.13 |
[C] 함수의 포인터 / 배열 매개변수 (0) | 2023.12.11 |
[C++] atoi (char > int 형변환) / stoi (string > int 형변환) 함수 구현 (0) | 2023.12.11 |
[C++] char형 데이터 int형으로 변환하기 (0) | 2023.12.11 |