[내일배움캠프-퍼포먼스 마케터] 본캠프 86일차

이석민·2025년 8월 8일

오늘 학습한 내용

SQL 코드카타

문제

Query all columns for a city in CITY with the ID 1661.

The CITY table is described as follows

작성 쿼리

SELECT * FROM CITY WHERE ID = 1661

PYTHON 코드카타

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

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

풀이

def solution(my_string):
    answer = ''
    vowel = ['a', 'e', 'i', 'o', 'u']
    
    for letter in my_string:
        if letter not in vowel:
            answer += letter
            
    return answer
    
다른 사람 풀이

def solution(my_string):
 vowels = {'a', 'e', 'i', 'o', 'u'}  # set 사용 
 return ''.join(letter for letter in my_string if letter not in vowels)
 
위 방법처럼 set 를 사용하여 조회 성능을 높이고, 
join() 을 사용하여 문자열을 생성하면 비용이 제일 적은 코드가 될 것 같다.
리스트 인덱스 조회는 O(1) 이지만, in 을 통한 검색은 O(n) 이다.
세트 해시 테이블을 사용하여 요소를 저장하기 때문에, in 조회 연산은 O(1) 이다.

0개의 댓글