HackerRank Intermediate
- Weather Observation Station 7
👉 문제 바로가기(HackerRank)
-- 문제 : CITY컬럼값 중 aeiou로 끝나는 컬럼값만 출력(중복 허용X)
-- 비효율 코드
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '%a' OR
CITY LIKE '%e' OR
CITY LIKE '%i' OR
CITY LIKE '%o' OR
CITY LIKE '%u'
-- 효율 코드
SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '[aeiou]$'
[ 문제 상황 ]
- 각 모음으로 끝나는 CITY값을 찾기위해 LIKE문 코드를 반복해서 작성해야한다.
[ 해결 ]
- 정규 표현식 REGEXP을 사용해 코드 한줄로 해결한다.
- 정규표현식
표현식 의미 .
임의의 단일 문자 (줄 바꿈 문자는 제외) ^
문자열의 시작 $
문자열의 끝 [...]
대괄호 안의 문자 중 하나 (문자 클래스) [^...]
대괄호 안에 없는 문자 중 하나 [a-z]
소문자 a부터 z까지의 문자 [A-Z]
대문자 A부터 Z까지의 문자 [0-9]
숫자 0부터 9까지의 문자 ` ` (expr)
표현식 그룹 *
앞의 표현식이 0번 이상 반복 +
앞의 표현식이 1번 이상 반복 ?
앞의 표현식이 0번 또는 1번 나타남 {n}
정확히 n번 반복 {n,}
n번 이상 반복 {n,m}
n번 이상 m번 이하로 반복 [[:<:]]
단어의 시작 (단어 경계) [[:>:]]
단어의 끝 (단어 경계) [[:alpha:]]
알파벳 문자 (A-Z, a-z) [[:digit:]]
숫자 (0-9) [[:alnum:]]
알파벳 문자 또는 숫자 [[:space:]]
공백 문자 (스페이스, 탭, 줄 바꿈 등) [[:upper:]]
대문자 [[:lower:]]
소문자 [[:punct:]]
구두점 문자 [[:cntrl:]]
제어 문자 (NULL, ESC 등) [[:xdigit:]]
16진수 숫자 (0-9, A-F, a-f)
[ 회고 ]
- 정규표현식은 데이터베이스의 텍스트 데이터에서 특정 패턴을 빠르게 찾기 위해 사용하며, 복잡한 문자열 패턴을 처리해야 할 때 SQL만으로는 해결하기 어려운 작업을 유연하고 코드 가독성이 높게 수행할 수 있게 한다.
'DA Study > TIL' 카테고리의 다른 글
[TIL] subplot으로 두 개의 그래프 한 figure에 그리기 # python # 부트캠프 (2) | 2025.01.23 |
---|---|
[TIL] MySQL 정규식 REGEXP AND, OR 조건 # MySQL # SQL (2) | 2025.01.22 |
[TIL] 로지스틱 회귀분석에서 오즈비 해석하기 # python # 부트캠프 (0) | 2025.01.17 |
[TIL] 집단 간 비율 차이 통계적 유의미성 검증하기 - Z검정 # python # 부트캠프 (2) | 2025.01.15 |
[TIL] 특정 값으로 편향된 데이터 전처리하기 # python # 부트캠프 (2) | 2025.01.14 |