• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

정규표현식 해커랭크 Weather Observation Station 11

23.02.22 11:56 작성 23.03.02 10:34 수정 조회수 228

0

안녕하세요

해커랭크의 Weather Observation Station 11 문제 관련 질문드리려고 합니다.

 

시작과 끝이 모음이 아닌 city 이름만 출력하는 문제인데요

SELECT DISTINCT CITY

FROM STATION

WHERE CITY REGEXP '^[^aeiou].*[^aeiou]$'

[ ] 안에 ^ 표시가 포함하지 않는다는 조건이라 해당 코드로 작성했더니 정답이 아니라고 떠서 regexr 페이지에서 테스트 해봤는데 여기서는 제대로 작동하더라구요!

 

SELECT DISTINCT CITY

FROM STATION

WHERE CITY NOT REGEXP '^[aeiou].*[aeiou]$'

혹시나 해서 [ ] 안 ^ 대신 REGEXP 앞에 NOT을 써보았는데 이 코드는 제대로 작동했습니다.

 

^조건과 NOT이 차이가 있나요??

 

답변 1

답변을 작성해보세요.

0

이 문제에서 요구하는 city name은 모음으로 시작하지 않는 문자열이거나, 모음으로 끝나지 않는 문자열입니다(either do not start with vowels or do not end with vowels).

모음으로 시작하지 않는 문자열 : 자음으로 시작해야 하고, 끝 글자는 자음/모음 둘 다 가능
모음으로 끝나지 않는 문자열 : 자음으로 끝나야 하고, 첫 글자는 자음/모음 둘 다 가능 

위와 같은 의미를 가지므로, 모음으로 시작하면서 모음으로 끝나는 문자열만 아니면 모두 가능합니다.

첫 번째 정규표현식 ^[^aeiou].*[^aeiou]$ : 자음으로 시작 & 자음으로 끝나는 문자열
WHERE CITY REGEXP '^[^aeiou].*[^aeiou]$’ : 자음으로 시작 & 자음으로 끝나는 문자열을 찾아라
-> 문제에서 요구하는 바와 다른 조건입니다.

두 번째 정규표현식 ^[aeiou].*[aeiou]$ : 모음으로 시작 & 모음으로 끝나는 문자열
WHERE CITY NOT REGEXP '^[aeiou].*[aeiou]$' : 모음으로 시작 & 모음으로 끝나는 문자열이 아닌 것을 찾아라
-> 이렇게 작성해야 정답입니다.