오늘 학습한 내용
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) 이다.