문제 설명
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한 사항
- 1 ≤ my_string의 길이 ≤ 100
- letter은 길이가 1인 영문자입니다.
- my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
- 대문자와 소문자를 구분합니다.
예시
my_string | letter | result |
"abcdef" | "f" | "abcde" |
"BCBdbe" | "B" | "Cdbe" |
입출력 예 설명
- 입출력 예 #1
"abcdef" 에서 "f"를 제거한 "abcde"를 return합니다. - 입출력 예 #2
"BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다.
풀이
def solution(my_string, letter):
my_string = list(map(str, my_string))
while(letter in my_string):
my_string.remove(letter)
answer = ''.join(my_string)
return answer
1. my_string이 문자열이므로 list로 변경한다.
(이때, my_string은 문자이므로 str)
my_string = list(map(str, my_string))
2. 결과값이 list가 아닌 문자열이므로 문자열로 변경하는 코드를 입력해 둔다.
answer = ''.join(my_string)
3. remove()는 list에 중복 값이 있을 경우, 첫 번째 값만 제거하므로 반복문을 이용한다.
while을 사용하여 my_string에 letter가 있을 경우 반복문을 계속 실행하도록 한다.
while(letter in my_string):
my_string.remove(letter)
참고🐣
remove()는 지우려는 요소가 없을 시, KeyError가 발생한다.
지우려는 요소가 없을 때에 정상 종료를 원할 경우, discard()를 사용하는 것이 좋다.
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120826
'코테정복💫 > 파이썬 PYTHON' 카테고리의 다른 글
[프로그래머스/Python] k의 개수 (0) | 2023.09.18 |
---|---|
[프로그래머스/Python] 369게임 (0) | 2023.09.17 |
[백준/Python] 10988번 팰린드롬인지 확인하기 (0) | 2023.08.19 |
[백준/Python] 2444번 별 찍기 - 7 (0) | 2023.08.18 |
[백준/Python] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.08.17 |