오늘의 TIL: 문자열에서 특정 문자 제거하기


오늘은 알고리즘 풀이를 하며 배운 점을 바탕으로 작성했습니다. 

오늘 풀어본 문제

문제 설명
문자열 my_string과 문자 letter가 매개변수로 주어졌습니다.
my_string에서 letter를 제거한 문자열을 반환하는 solution 함수를 작성하는 문제였습니다.

예시

my_string = "hello world"
letter = "o"
# 결과: "hell wrld"

나의 풀이

문자열을 한 글자씩 순회하며, letter와 같지 않은 글자만 새로운 문자열에 추가하는 방식으로 풀었습니다.

def solution(my_string, letter):
    answer = ''
    for word in my_string:
        if word != letter:  # letter와 다를 때만 추가
            answer += word
    return answer

이 풀이에서는 for 문과 조건문을 사용하여 letter를 제거할 수 있었습니다.

장점

  • 비교적 직관적이고, 문자열 순회를 통해 문제를 이해하는 데 적합한 풀이 방식.

단점

  • 문자열 덧셈(+=)을 반복하므로, 길이가 길어질수록 성능이 떨어질 수 있음.

다른 풀이: replace() 메서드 활용

이번 문제를 풀며 replace() 메서드를 이용하면 훨씬 간단하게 해결할 수 있다는 점도 알게 되었습니다.

def solution(my_string, letter):
    return my_string.replace(letter, '')

replace() 메서드의 장점

  • 기존 문자열에서 특정 문자를 다른 문자로 대체하거나, 제거할 때 유용하게 사용할 수 있음.
  • 코드가 간결하고, 가독성이 높아짐.

느낀 점

  • 문제를 처음 풀 때는 for 문을 사용했지만, replace()를 활용하면 훨씬 간단히 풀 수 있다는 점에서 내장 메서드의 중요성을 다시금 느꼈습니다.
  • 앞으로 문자열 조작 문제를 풀 때는 Python의 다양한 문자열 메서드를 활용해 보려고 합니다.

 

+ Recent posts