Mo!
(HackerRank) 해커랭크 SQL [Higher Than 75 Marks] Oracle 풀이 본문
SQL

(HackerRank) 해커랭크 SQL [Higher Than 75 Marks] Oracle 풀이

5사 2021. 12. 2.

문제 링크

https://www.hackerrank.com/challenges/more-than-75-marks/problem?isFullScreen=true 

 

Higher Than 75 Marks | HackerRank

Query the names of students scoring higher than 75 Marks. Sort the output by the LAST three characters of each name.

www.hackerrank.com

 

학생 중 75점 이상의 점수를 받은 학생의 이름을 쿼리 합니다.
각 이름의 마지막 세 글자를 기준으로 출력을 정렬합니다.
둘 이상의 학생이 마지막 세 글자로 끝나는 경우: 바비, 로비 등) 이차적인 ID로 분류합니다.

 

SUBSTR을 이용한 풀이

 

 

order by substr(name, -3), id

-- substr(name, -3) : 이름의 -3자리(뒤에서 3번째)부터 끝까지 출력, 즉 마지막 세 글자를 출력한다는 뜻

-- 이차적인 분류를 위해 id를 함께 써준다

 

substr(name, -3) 대신에 substr(name, length(name)-2)를 써도 동일하다

-- length(name)를 써서 문자열의 길이를 찾은 후 2를 빼주어 자리 값을 찾는 것이다

-- ex) 이름이 Ashley라면 length 함수를 쓰면 6이 반환되고 여기서 2를 빼주면, 4번째 자리(l)부터 출력된다는 것이다

Comments