[프로그래머스] Lv.0 모음 제거

Jiumn·2023년 1월 22일
0

[프로그래머스] Lv.0 모음 제거

문제 설명

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항

my_string은 소문자와 공백으로 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000

입출력 예

my_stringresult
"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 comprehensionnot 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")])
profile
Back-End Wep Developer. 꾸준함이 능력이다.

0개의 댓글