본문 바로가기

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

@doyiya242025. 8. 1. 15:59

모음 제거

 

문제 설명

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

 

제한사항

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

입출력 예 설명

입출력 예 #1

  • "bus"에서 모음 u를 제거한 "bs"를 return합니다.

입출력 예 #1

  • "nice to meet you"에서 모음 i, o, e, u를 모두 제거한 "nc t mt y"를 return합니다

 

 

내가 작성한 코드

def solution(my_string):
    vowel = ['a','e','i','o','u']
    
    for i in my_string:
        for j in vowel:
            if i == j:
                my_string = my_string.replace(i,'')
    return my_string

-> replace()메서드를 이용해서 모음이 있으면 공백으로 바꿔줬다. 

 

 

 

 

다른 사람이 작성한 코드

def solution(my_string):
    return "".join([i for i in my_string if not(i in "aeiou")])

=> 리스트 컴프리헨션(List Comprehension)을 이용하셨다. 알고는 있었지만 어떻게 적용해야할지 잘 몰라 replace()를 사용했던 것이다. python의 꽃이라 할 수 있는 리스트 컴프리헨션을 사용하는것이 간단하고 직관적이다. 그리고 join()메서드도 이용하는 법을 배워야겠다.

 

 

 

 

 

회고

리스트컴프리헨션을 자꾸 까먹는다. join()메소드도 사용법을 아직 제대로 익히지 못한것 같다. 다음에 나오면 join을 반드시 사용해보겠다.

 

 

 

 

 

참고 블로그

https://seoulitelab.tistory.com/entry/Python%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%EC%84%9C-%ED%8A%B9%EC%A0%95-%EB%AC%B8%EC%9E%90-%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94-3%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95

 

 

목차