Weather Observation Station 11

hyeh·2022년 8월 16일
0

알고리즘 문제풀이

목록 보기
6/15

Weather Observation Station 11

Query the list of CITY names from STATION that either do not start with vowels or do not end with vowels. Your result cannot contain duplicates.


모음으로 시작하지 않거나 모음으로 끝나지 않는 도시 이름의 리스트를 출력하는 문제. 중복은 허용하지 않는다.

-- LEFT, RIGHT 사용
SELECT DISTINCT city
FROM station
WHERE LEFT(city, 1) NOT IN ('a', 'e', 'i', 'o', 'u') 
OR RIGHT(city, 1) NOT IN ('a', 'e', 'i', 'o', 'u')

-- SUBSTR 사용
SELECT DISTINCT city
FROM station
WHERE SUBSTR(city, 1, 1) NOT IN ('a', 'e', 'i', 'o', 'u') 
OR SUBSTR(city, -1, 1) NOT IN ('a', 'e', 'i', 'o', 'u')

-- REGEXP 정규표현식 사용
SELECT DISTINCT city
FROM station
WHERE city REGEXP '^[^aeiou]' -- ^ : 시작하는 문자, 여러 문자 비교 []로 묶어주기
OR city REGEXP '[^aeiou]$' -- $ : 끝나는 문자, 같지 않다 ^

-- LIKE 사용 (AND와 OR 사용 주의!)
SELECT DISTINCT city
FROM station
WHERE (city NOT LIKE '%a'
AND city NOT LIKE '%e'
AND city NOT LIKE '%i'
AND city NOT LIKE '%o'
AND city NOT LIKE '%u') OR
(city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%')

💡

  • 문자열이 해당 문자를 포함하고 있는지 아닌지 알아보는 방법 여럿이다.
    1) LIKE, NOT LIKE 사용
    2) IN, NOT IN 사용
    - LEFT(city, 1) : city 문자열 가장 왼쪽에서, 한 글자만 가져오겠다
    - RIGHT(city, 1) : city 문자열 가장 오른쪽에서, 한 글자만 가져오겠다
    - SUBSTR(city, -1, 1) : city 문자열, 마지막, 한 글자
    3)REGEXP 정규표현식 사용

  • 실무에서는 LEFT, RIGHT, SUBSTR을 많이 쓴다

profile
좌충우돌 천방지축 룰루랄라 데이터 공부

0개의 댓글