영어에선 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" |
입출력 예 #1
"bus"에서 모음 u를 제거한 "bs"를 return합니다.
입출력 예 #1
"nice to meet you"에서 모음 i, o, e, u를 모두 제거한 "nc t mt y"를 return합니다.
특정 문자를 제거하는 문제이므로 replace
함수를 사용할 수 있다.
def solution(my_string):
return my_string.replace('a','').replace('e','').replace('i','').replace('o','').replace('u','')
다만 이렇게 쓰면 풀 수는 있지만 코드가 너무 구질구질해지므로 (...)
list comprehension
과 not in
, join
구문을 사용하는 방법이 있다.
먼저 문자열(my_string
)의 요소를 반복한다.
그리고 조건문을 만들어준다.
"aeiou"
라는 제거하려는 모음으로 구성된 문자열을 만든 다음,
문자열의 요소가 "aeiou"
에 포함되는지 확인한다.
포함이 되지 않는다면(if not (i in "aeiou")
) 리스트에 포함시킨다.
(모음이 제거된 요소를 반환해야 하기 때문)
반복이 끝나면 마지막으로 "".join()
을 감싸서 리스트 안의 요소들을 하나의 문자열로 합쳐준다.
def solution(my_string):
return "".join([i for i in my_string if not(i in "aeiou")])