c++ string을 통 특정 문자 제거

2024. 11. 24. 00:13·C++
반응형
#include <string>
#include <algorithm>

using namespace std;

string solution(string my_string, string letter) 
{
    my_string.erase(remove(my_string.begin(),my_string.end(), letter[0]),my_string.end());
    return my_string;
}

remove(my_string.begin(), my_string.end(), letter[0]): 이 함수는 my_string의 시작부터 끝까지 탐색하면서 letter[0]과 일치하는 모든 문자를 "제거"합니다. 그런데 여기에서 "제거"는 실제로 해당 요소들을 문자열에서 삭제하는 것이 아니라, 문자열의 뒷부분으로 이동시키는 것을 의미합니다.

remove는 이동이 끝난 후의 마지막 위치의 반복자를 반환합니다. my_string.erase(...): remove에서 반환된 반복자를 사용하여 my_string에서 해당 위치부터 끝까지의 모든 문자를 실제로 삭제합니다. 예를 들어, solution("apple", "p")를 호출하면, letter[0]은 'p'입니다. 따라서 "apple"에서 'p' 문자를 모두 제거하면 결과는 "ale"가 됩니다.

이해를 돕기 위해 단계별로 예를 들어 설명해보겠습니다:

1. 원래 문자열: "apple"

2. remove 후의 문자열: "alepp" ('p'가 끝으로 이동되었습니다.)

3. remove가 반환한 반복자 위치: "ale|pp"

4. erase를 사용하여 "pp"를 삭제한 후의 문자열: "ale" 따라서 함수의 결과는 "ale"입니다.

반응형
저작자표시 (새창열림)

'C++' 카테고리의 다른 글

string::find  (1) 2024.11.24
STL : sort algorithm  (0) 2024.11.24
string stream  (0) 2024.11.24
간단한 Queue 학습 및 제작  (0) 2024.09.21
유클리드 호제법을 통한 최소공배수, 최대공약수 알고리즘  (0) 2024.09.16
'C++' 카테고리의 다른 글
  • string::find
  • STL : sort algorithm
  • string stream
  • 간단한 Queue 학습 및 제작
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (303)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (46)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
c++ string을 통 특정 문자 제거
상단으로

티스토리툴바