본문 바로가기
SQL/MySQL

[MySQL] HackerRank - Weather Observation Station 8 문제 풀이

by 취준생 져니 2025. 2. 10.

문제 사이트

아래 문제는 해커랭크에서 추출해온 문제입니다. 문제의 저작권은 해커랭크에 있으며 문제를 풀어보시려면 아래 링크를 클릭해주세요 🙂


 

Weather Observation Station 8 | HackerRank

Query CITY names that start AND end with vowels.

www.hackerrank.com

 


 

 

 

👉문제 설명

  • 첫글자와 끝글자가 모음인 city 이름 출력, 중복값 없어야 함

 

 

 

👉문제 풀이

1. 첫글자와 끝글자가 모음인 city이름

2. 중복값이 없어야 함

 

 

 

👉문제 풀이 과정

1. 첫글자와 끝글자가 모음인 city이름

select city
from station
where city REGEXP '^[aeiou]' AND CITY REGEXP'[aeiou]$'
  • REGEXP 정규표현식을 사용하여 풀었음
  • ^ : 시작하는 문자열 찾음
  • $ : 끝나는 문자열 찾음

 

 

2. 중복값 없어야 함

select distinct city
from station
where city REGEXP '^[aeiou]' AND CITY REGEXP'[aeiou]$'

 

  • 중복값을 없애는 distinct 함수 사용

 

 

👉최종 답안

select distinct city
from station
where city REGEXP '^[aeiou]' AND CITY REGEXP'[aeiou]$'

 

 

 

 

 

 

👉고찰

'^[aeiou]$'로 하려고 해봤는데 안됨,, and말고 다르게 묶을 수 있는 방법 있을지 생각해봐야겠다

 

+

SELECT distinct city
FROM station
WHERE city REGEXP '^[aeiou].*[aeiou]$'

이렇게 쓰면 REGEXP를 한 번만 쓰게 되므로 속도가 더 빠름

 

-> 대소문자를 구분해주지 않아도 되나?

일반적으로 mysql은 대소문자를 구분하지 않음. 따라서 대문자까지 포함해서 검색이 가능함