호기심 많은 분석가
[MySQL] Hackerrank - Weather Observation Station 6 본문
Coding/Coding Test & Algorithm
[MySQL] Hackerrank - Weather Observation Station 6
DA Hun 2021. 10. 8. 10:37
select
city
from station
where city regexp '^[a|e|i|o|u]'
오랜만에 SQL 연습을 위해 사이트를 찾아보던 중 hackerrank라는 좋은 사이트를 발견했다.
Python으로 구현하면 간단하게 했을 것 같은데 SQL에서는 starts with를 어떻게 구할 수 있을까? LIKE를 사용하면 간단하지만 이번 문제는 후보군이 있다. 모든 후보군에 대해서 LIKE를 사용해주는 건 아름답지 않으니 새로운 방식을 고민해보자.
그러던 중 찾은 것이 정규식, REGEXP이다. WHERE REGEXP '정규식'으로 사용해주고, 전체 사용법은 아래와 같다.
. : 문자 하나
* : 앞 글자의 *개수 숫자 이상 반복
^ : 첫값
$ : 끝값
[.] : 괄호 안의 문자열 일치 확인
{.} : 반복
| : or
그렇기에 위의 코드는 ^ : 첫 값을, [] : 괄호 안의 문자열과 일치되는 지 , a|e|i|o|u : aeiou 중 하나라도 일치되면 된다라는 코드가 완성되는 것이다.! 정규식은 정말 강력한 파워를 가지고 있지만 매번 조금씩 고민한다. 더 익힐 필요가 있어보인다!!
'Coding > Coding Test & Algorithm' 카테고리의 다른 글
[프로그래머스] 연습문제 - 같은 숫자는 싫어 (Python) (0) | 2021.07.05 |
---|---|
[프로그래머스] 월간 코드 챌린지 시즌1 - 3진법 뒤집기 (Python) (2) | 2021.07.02 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 뉴스 클러스터링 (3) | 2021.06.30 |
[프로그래머스] 스택_큐 - 기능개발 (Python) (0) | 2021.06.28 |
[프로그래머스] 완전탐색 - 모의고사 (Python) (0) | 2021.06.28 |