Post

[Programmers] #120826 - 특정 문자 제거하기 [Java][C++][Python]

[Programmers] #120826 - 특정 문자 제거하기 [Java][C++][Python]

문제 링크


1. 아이디어

my_string에서 letter와 일치하는 문자를 전부 제거한 뒤 반환하면 되는 문제다. letter는 항상 길이가 1인 문자열로 주어지므로, 문자열에서 해당 문자를 지우는 표준적인 방법을 그대로 적용하면 된다.


2. 복잡도

접근시간공간
풀이$O(N)$$O(N)$

($N$ = my_string의 길이. C++는 인자를 제자리 수정해 반환해 공간 $O(1)$)


3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
class Solution {
    public String solution(String my_string, String letter) {
        return my_string.replace(letter, "");
    }
}
1
2
3
4
5
6
7
#include <bits/stdc++.h>
using namespace std;

string solution(string my_string, string letter) {
    erase(my_string, letter[0]);
    return my_string;
}

C++20의 std::erase는 컨테이너에서 주어진 값과 같은 원소를 전부 제거한다. letter는 항상 길이가 1이므로 letter[0]을 넘겨 해당 문자를 모두 지웠다.

1
2
def solution(my_string, letter):
    return my_string.replace(letter, "")

This post is licensed under CC BY 4.0 by the author.