Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 파이썬입문
- 인공신경망
- 파이썬 프로그래머스
- 꼬리문자열 프로그래머스
- 풀스택개발자과정
- 데이터사이언티스트
- 머신러닝
- 프로그래머스 파이썬 꼬리문자열
- 프롬프트엔지니어링
- 파이썬기초
- 모두연커리어랩
- 아이펠
- 사이킷런
- 파이썬 문자열
- AI
- 파이썬함수
- 프롬프트
- 파이썬 대문자
- 파이썬 기초
- 모두연
- 프로그래머스
- 인공지능
- cnn
- 인공지능교육
- 꼬리문자열
- 파이썬 코딩기초트레이닝 문자열
- 파이썬
- 모두의연구소
- 새싹금천캠퍼스
- 데이터사이언스
Archives
- Today
- Total
Lighthouse
[프로그래머스 파이썬] 특정 문자 제거하기 본문
문자열 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):
return my_string.replace(letter, "")
파이썬 특정 문자열 지우기
1. replace() 메서드
my_string = "apple"
letter = "p"
result = my_string.replace(letter, "") # "ale"
2. 리스트 내포(List Comprehension) + join()
리스트 내포를 이용해 특정 문자를 제외한 나머지 문자들만 선택한 후, 다시 문자열로 합치는 방법
my_string = "apple"
letter = "p"
result = ''.join([char for char in my_string if char != letter]) # "ale"
3. filter() 함수 + join()
filter() 함수는 특정 조건에 맞는 요소들만 추출하는 함수.
이와 join()을 함께 사용하면 문자열에서 특정 문자를 제거할 수 있다.
my_string = "apple"
letter = "p"
result = ''.join(filter(lambda char: char != letter, my_string)) # "ale"
4. 정규 표현식(re 모듈) 사용
정규 표현식은 패턴 매칭을 통해 문자나 문자열을 검색하거나 대체할 때 사용된다.
이를 이용해 특정 문자를 제거할 수 있다.
import re
my_string = "apple"
letter = "p"
result = re.sub(letter, '', my_string) # "ale"
5. 문자열 슬라이싱
특정 위치의 문자만 제거할 때는 슬라이싱을 사용할 수 있습니다.
하지만 이 방법은 특정 문자나 패턴을 제거하기보다는 인덱스를 사용한 위치 기반 제거에 더 적합합니다.
my_string = "apple"
# 첫 번째 문자 'a'를 제거 (index 0)
result = my_string[1:] # "pple"
6. translate() 메서드
translate() 메서드는 매핑 테이블을 이용해 특정 문자나 문자열을 다른 문자로 변환하거나 제거할 수 있습니다.
str.maketrans() 함수를 함께 사용하여 특정 문자를 빈 문자열로 매핑하면 제거할 수 있습니다.
my_string = "apple"
letter = "p"
result = my_string.translate(str.maketrans('', '', letter)) # "ale"
7. 루프와 조건문
간단한 for 루프와 조건문을 이용해서 문자열에서 특정 문자를 제거할 수도 있습니다.
my_string = "apple"
letter = "p"
result = ""
for char in my_string:
if char != letter:
result += char # "ale"