안녕하십니까 다제입니다.
최근 갑작스럽게 SQL 코딩테스트를 보는 일이 생겼는데요
이를 위해 5일간 집중적으로 SQL 코딩테스트를 연습하게 되었습니다.
연습한 문제에 비해 너무 긴장하여 좋은 결과를 얻진 못하였지만 복습할 겸 잊어버리지 않기 위해 하루에 2문제씩 문제를 풀고자 합니다.
총 150문제와 개념 공부를 집중적으로 하였는데 모든 문제를 다룰 수는 없고 여러분도 꼭 알았으면 하는 문제들만 선별하여 같이 다루어보았으면 좋겠습니다.
2021.10.18 - 1day
1. Higher Than 75 Marks
- 문제의 해석 : substring, right, left, order by, where의 개념을 확인하기 위해 해당 데이터에서 이름을 출력하는 문제
- 선정한 이유 : 문제를 꼼꼼히 읽지 않으면 쉽게 틀릴 수 있고, 코테를 보는 경우 더욱 당황할 수 있는 있기에 선정하였습니다.
- 접근방식 : 처음 대충 읽고 풀었는데, 틀려서 마음을 차분히 하고 다시 천천히 읽고 풀었습니다.
- 링크 : https://www.hackerrank.com/challenges/more-than-75-marks/problem?isFullScreen=true
- 코드
select name from students
where marks > 75 order by right(name, 3), id asc
2. Type of Triangle
- 문제의 해석 : 삼각형의 각 변의 데이터가 1 컬럼씩 들어 있고 정삼각형인지, 이등변삼각형인지 삼격형의 종류를 구분하는 문제
- 선정한 이유 : case문 내에 case를 다시 사용할 수 있다는 점을 알리고 싶었고 새롭게 배운 내용이였기 때문입니다.
- 접근방식 : 먼저 삼각형이 성립하는지 여부를 판별하고 판별을 하였을 경우, 삼각형을 나누는 기준이 각 변의 길이가 같은지를 체크하는 식으로 코드를 구현해보았습니다.
- 링크 : https://www.hackerrank.com/challenges/what-type-of-triangle/problem?isFullScreen=true
- 코드
select
case when a+b>c and b+c>a and a+c>b then
case when a=b and b=c then "Equilateral"
when a=b or b=c or a=c then "Isosceles" else "Scalene" end
else "Not A Triangle" end
from triangles
링크도 함께 공유하였으니 여러분도 꼭 함께 풀어 보시고 제가 푼 방법보다 좋은 방법이 있다면 댓글로 공유 부탁드립니다.
감사합니다.
'Code > SQL' 카테고리의 다른 글
[HackerRank] SQL 코딩테스트 준비 3day(feat. tips 및 복습) (0) | 2021.10.20 |
---|---|
[HackerRank] SQL 코딩테스트 준비 2day(feat. tips 및 복습) (0) | 2021.10.19 |
[SQL] all? 너는 누구? (feat. MySQL, pgSQL) (0) | 2021.10.14 |
[SQL] 5. 최적화 원리 이해하기 (2) | 2021.05.31 |
[SQLD] 4. SQL 활용 이해하기 (0) | 2021.05.31 |