* 코딩인터뷰시 기업들에서 널리 활용중인 해커랭크(HackerRank)의 SQL 문제 정리.
1. 문제
- 주어진 직업 테이블 (Occupations)에서 직업정보를 이름과 함께 문자 포멧팅하여 정렬하는 문제입니다.
2. 정답
- 문자열을 연결하는 명령어를 파악하여 조건에 맞게 포멧팅해줘야 합니다.
- 컴퓨터가 채점하기 때문에 띄어쓰기하나, 쉼표 하나도 틀리지 않게 정밀하게 포메팅해주어야 합니다.
- 제가 사용한 MySQL의 경우에는 concat을 통해 문자열을 결합할 수 있었습니다.
- Oracle 환경에서는 || 도 사용가능해서 처음부터 ||를 사용했다가 대차게 에러메시지로 까인..
- ordered 조건도 정확하게 설정해주어야 합니다. 보통 order조건이 두번 이상 겹쳐서 해줘라는 조건들이 있는데 놓치기 쉬우니 세심하게 봐주어야 할 것 같습니다.
- 포메팅시 사용해야 하는 정보가 집계 정보가 포함이 되어있기 때문에 두번째 쿼리는 서브쿼리를 사용합니다.
- group by를 활용한 카운팅을 하여 직업 이름과 직업별 인원수를 출력하는 쿼리를 작성한 뒤에 이를 서브쿼리로 감싸주어 문자열 포메팅을 이쁘게 잘 마무리 해줍니다.
- 중간 중간 꽤 에러를 많이 봤습니다.. 뭐가 틀렸는지 몰라서 한참 헤맸는데 알고보니 직업정보는 소문자로 출력하라는 조건이 있었어서.. OTL. lower()를 통해서 조건에 맞게 다시 설정해주었더니 Correct 메시지가 뜹니다. 조건을 잘 보는 것이 중요한 싸움인듯 합니다.
3. 결과
- 정답은 위와 같습니다.
해커랭크(HackerRank)의 'SQL for Interview'를 풀며 정리한 글입니다.
부족한 블로그에 방문해 주셔서 감사합니다.
잘못된 내용 수정 피드백은 댓글로 적어주세요.
감사합니다 :-)
반응형
'기초 튼튼 > 코테준비' 카테고리의 다른 글
[코테준비] Python 해커랭크(HackerRank) 문제풀이 - 1 (Socks Merchant) (0) | 2020.05.19 |
---|---|
[코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 피벗 - 6 (0) | 2020.05.16 |
[코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 삼각형 형태 알아내기 - 4 (0) | 2020.05.16 |
[코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 3 (0) | 2020.05.11 |
[코테준비] SQL 해커랭크(HackerRank) 문제풀이 - 2 (0) | 2020.05.11 |