프로그래머스/파이썬_입문

모음 제거

싱싱한복초이 2024. 10. 20. 21:54

https://school.programmers.co.kr/learn/courses/30/lessons/120849

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 설명]

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

 

제한사항

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

 

[나의 풀이]

def solution(my_string):
    answer=[]
    for x in my_string:
        if x not in ['a','e','i','o','u']:
            answer.append(x)
    return(''.join(answer))

처음에 not in [ ] 이 부분에서 헤맸는데 ['a','e','i','o','u']가 아니라 [a,e,i,o,u]라고 썼기 때문에!!!

 

그리고 마지막에 그냥 return answer하면 안되고 return(''.join(answer))를 해줘야 함

 

예) solution ('nice to meet you')는 어떻게 작동하는가?

 

[다른 풀이]

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

def solution(my_string):
    vowels = ['a','e','i','o','u']
    for vowel in vowels:
        my_string = my_string.replace(vowel, '')
    return my_string
import re
def solution(my_string):
    return re.sub('[aeiou]', '', my_string)

 

def solution(my_string):
    answer = ''

    for c in my_string:
        if c in ['a', 'e', 'i', 'o', 'u']:
            continue
        answer += c

    return answer

 

 

'프로그래머스 > 파이썬_입문' 카테고리의 다른 글

숨어있는 숫자의 덧셈(1)  (0) 2024.10.22
소인수분해  (0) 2024.10.21
주사위의 개수  (0) 2024.10.18
합성수 찾기  (0) 2024.10.17
팩토리얼  (0) 2024.10.16