특정 문자 제거하기

2024. 7. 20. 18:00코딩테스트 입문

https://school.programmers.co.kr/learn/courses/30/lessons/120826

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 설명
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_stringletter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

입출력 예

my_string letter result
"abcdef" "f" "abcde"
"BCBdbe" "B" "Cdbe"

입출력 예 설명
입출력 예 #1

  • "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다.

입출력 예 #2

  • "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다.

문자열과 문자 하나가 주어지는데, 문자열에서 주어진 문자를 전부 제거하는 문제입니다.

이런 문제들은 생각하면 반복문으로 새로운 answer에 값을 집어넣는 방법이 가장 먼저 떠오르네요.

파이썬으로 생각하면 replace로 아예 letter을 ''으로 대체하는 게 떠오릅니다.

 

이번에는 파이썬으로 두 가지 풀이를 해보겠습니다.

1. 반복문으로 집어넣기

def solution(my_string, letter):
    answer = ''
    # 모든 my_string 요소에 대해
    for s in my_string:
        # 문자가 s가 아니라면
        if letter not in s:
            # answer에 추가한다.
            answer += s
    return answer

 

2. replace 사용

def solution(my_string, letter):
    # my_string 문자열에서 letter을 ''로 대체합니다.
    answer = my_string.replace(letter, '')
    return answer

 

이외에도 리스트 컴프리헨션 + 조인으로도 풀 수 있습니다.

다양한 풀이방법으로 시도할 수 있는 문제입니다.

'코딩테스트 입문' 카테고리의 다른 글

양꼬치  (1) 2024.07.22
각도기  (0) 2024.07.21
문자 반복 출력하기  (0) 2024.07.19
짝수 홀수 개수  (1) 2024.07.18
직각삼각형 출력하기  (0) 2024.07.17