[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.