코딩테스트/HackerRank 6

[SQL] order by substr (Oracle)

Oracle에서 substr은 이렇게 활용한다. 예로서 Students 라는 테이블에 아래와 같이 레코드가 정의되어있다고 가정하면 각각의 쿼리 결과물은 이렇다. // 1) select substr(name, 2) from students; // result is 'teven' // 2) select substr(name, 2, 2) from students; // result is 'te' // 1) select substr(name, -2) from students; // result is 'en' // 2) select substr(name, -2, 1) from students; // result is 'e' 그리고 이건 기억하기 위한 메모. 쿼리 결과를 정렬할 때 order by substr와 같..

[Basic Join] Contest Leaderboard(Oracle)

Level : SQL(Intermediate) 💡 Key note Hacker의 total score란 모든 challenges의 max 점수에 대한 합임. 두 번의 삽질이 있었다. 첫째, 모든 challenges의 score를 더하는 줄 알았다가 실패. 둘째, challenges별 max 점수인데, partition by 시 엄한 submission_id로 잘못 이해해서 실패..(어휘력 무엇..) 사실 partition by도 필요가 없었다. max 함수를 활용해서 통과했다. -- hacker_id, name, total score를 출력 -- 이 때 total score 가 높은 순으로 출력 -- 같은 total score인 hacker가 둘 이상일 경우 hacker_id순으로 출력 -- total ..

[Basic Join] Top Competitors(Oracle)

Level : SQL (Intermediate) 💡 Key note 1. Score가 100이 무조건 만점이 아님. 반드시 Difficulty table을 활용해야 함. 2. 만점을 2번 이상 받은 해커를 출력함. (문제에서 More than one challenge 부분) -- hacker_id, name을 출력함 -- 이 때 하나 이상의 challenge에서 만점을 받은 hacker를 출력함 -- 이 때 만점 받은 challenge의 개수가 높은 순으로 출력함 -- 만점받은 개수가 동일한 해커에 대해서는 hacker_id에 대해 ascending ordering 함 select subquery.hacker_id, subquery.name from ( select sub.hacker_id, hac.na..

[Basic Join] The Report(Oracle)

Level : SQL (Intermediate) HackerRank에서 지난번에 The PADS 문제를 풀면서 We Do not allow non ASCII characters for this challenge 에러가 왜 발생하는지 모른채로 지나갔었다. [Advanced select] The PADS(Oracle) We Do not allow non ASCII characters for this challenge 와 같은 유사한 오류문구가 출력됐었는데, 아직 언제 이런 오류가 뜨는건지는 잘 모르겠다. 어쨌든 아래는 처음에 안되었지만.. 다시해보니 성공한 quer jy0605.tistory.com 이제 원인을 알게 됐다. Query 초반에 달아두었던 주석을 모두 지우면 해당 에러가 발생하지 않는다. ;;;..

[Advanced select] The PADS(Oracle)

We Do not allow non ASCII characters for this challenge 와 같은 유사한 오류문구가 출력됐었는데, 아직 언제 이런 오류가 뜨는건지는 잘 모르겠다. 어쨌든 아래는 처음에 안되었지만.. 다시해보니 성공한 query이다. concat과 substr, lower를 테스트하는 문제였던 것 같다. 아 그리고 또 한가지. 두가지 결과를 얻고자 할때 union(all)을 사용하지 않아도 자동으로 두 쿼리문의 결과를 union해서 판정한다. -- Hackerrank_The PADS (https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true) -- SQL(Intermediate) select name || ..

728x90
반응형