문제 설명
영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return 하도록 solution 함수를 완성해주세요.
제한사항
- my_string은 소문자와 공백으로 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
| my_string | result |
| "bus" | "bs" |
| "nice to meet you" | "nc t mt y" |
내 풀이
def solution(my_string):
mo = ["a", "e", "i", "o", "u"]
for str in my_string:
if str in mo:
my_string = my_string.replace(str, '')
return my_string
회고
- 바로 앞에서 배웠던 풀이를 응용했다! 배운 것을 바로 써먹은 것 같아 기쁘다. 🥰
[프로그래머스] [Python] 특정 문자 제거하기
문제 설명 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 letter은 길이
salzzing.tistory.com
- 굳이 구구절절 for문과 if문을 다 쓸 필요 없이, for str in mo: 라고만 써도 됐다. 바보바보
- join 함수를 이용한 방법도 있다.
join
- '구분자'.join(리스트) 와 같이 쓴다.
- 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환
- 예:
>>> a = ["a", "b", "c", "d", "e"]
>>> result = ''.join(a)
>>> print(result)
abcde
- 위의 예제에서는 return "".join([ str for str in my_string if not (str in "aeiou")]) 와 같이 깔끔하게 쓰기도 하더라.
- 여기도 리스트 컴프리헨션을 적용할 생각을 하다니... 천잰가.
- my_string 문자열을 싹 돈다 > 각 문자 중 "aeiou"에 속하지 않는 것만 모아서 리스트를 따로 만듦
'Programmers > Python' 카테고리의 다른 글
| [프로그래머스] [Python] 배열의 유사도 (0) | 2022.11.11 |
|---|---|
| [프로그래머스] [Python] 숨어있는 숫자의 덧셈 (1) (0) | 2022.11.11 |
| [프로그래머스] [Python] 배열 두 배 만들기 (0) | 2022.11.11 |
| [프로그래머스] [Python] 특정 문자 제거하기 (0) | 2022.11.11 |
| [프로그래머스] [Python] 영어가 싫어요 (0) | 2022.11.11 |