code/[프로그래머스] python

[코딩 테스트 연습 입문] 모음 제거

오리는짹짹 2022. 12. 26. 14:58

문제

영어에선 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):
    answer = ''
    vowel = ['a','e','i','o','u']
    
    for alphabet in list(my_string):
        if alphabet not in vowel:
            answer+=alphabet
            
    return answer

📝설명

for문을 통해 my_string의 각 알파벳을 꺼내고, 그 알파벳이 모음 리스트에 없다면 answer에 추가하도록 해야겠다고 생각했다.

우선, 대조를 위한 모음 리스트 vowel을 만들었다. 

초기의 my_string의 상태는 문자열이다. 

for문에서 반복범위로 설정하려면 list 형태를 가져야 하니까 list()를 씌웠다.

여기에서 꺼내진 알파벳이 vowel 리스트에 없다면, answer에 더하도록 한다.

이렇게 된다면 결과로 my_string에서 모음값이 제외된 answer 문자열이 나온다.

 

👑모범 답안

🔎'구분자'.join(list)은 리스트를 문자열로 만들어서 반환해주는 함수이다.

🔎 for문을 vowels를 반복변수로 설정하고, my_string에서 vowel에 해당하는 값이 있으면 ''로 바꾸도록 했다.

 

👀느낀 점

: .join()에 대해서는 문제를 풀면서 떠올렸지만, .replace()에 대해서는 생각도 못했었다.

다음번에는 활용해봐야겠다.