-
[SQL][해커랭크] weather observation station 9, 10 / 정규표현식, 와일드카드데이터 분석 공부/SQL 2024. 5. 13. 12:24728x90
https://www.hackerrank.com/challenges/weather-observation-station-9/problem?isFullScreen=true
Weather Observation Station 9 | HackerRank
Query an alphabetically ordered list of CITY names not starting with vowels.
www.hackerrank.com
모음으로 시작하지 않는 CITY 명을 중복 없이 추출해야 하는 문제입니다.
풀이 1 ) % 와일드카드 사용하기
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%';
SQL에서 % 기호는 와일드카드 문자로 사용됩니다.
와일드카드 문자는 문자열 패턴을 일치시키기 위해 사용됩니다.
%는 임의의 문자열 (빈 문자열 포함)과 일치합니다.
일반적으로 LIKE 연산자와 함께 사용되며, 다음과 같은 패턴을 정의할 때 사용됩니다:
- % : 임의의 문자열
- _ : 한 문자
풀이 2 ) 정규표현식 사용하기
SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '^[^aeiou]';
CITY에 정규표현식을 사용하여 원하는 조건을 걸어봅니다.
- 처음 ^ 는 첫 문자를 의미하고
- 대괄호 [ ] 는 안에 있는 지정 문자 여부를 검사해 주며,
^를 붙이면 NOT을 의미하게 됩니다.
이어지는 Weather Observation Station 10번 문제에서는
모음으로 끝나지 않는 CITY 명을 구하라고 하는데요.
정규표현식 사용 시 첫글자를 지정할 때와 달리,
끝글자를 지정할 때는 $ 기호를 사용하되 대괄호 뒤에 위치시켜야 합니다!
SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '[^aeiou]$';
'데이터 분석 공부 > SQL' 카테고리의 다른 글
[SQL][해커랭크] Draw The Triangle 1 / SET @, REPEAT (0) 2024.05.17 [SQL][해커랭크] The PADS / 문자열 출력 (0) 2024.05.14 mysql start 시 cannot change directory to /nonexistent: No such file or directory 오류 해결 (0) 2024.04.22 DBMS 안에서 데이터베이스 연결하기 (0) 2024.04.17 우분투 SQL 설치 및 환경설정, Sqlalchemy (0) 2024.04.11