Lim Seunghyun Space

[HackerRank] The PADS 본문

SQL/SQL 문제

[HackerRank] The PADS

Lim Seung Hyun 2021. 11. 29. 09:02

문제 : https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true 

 

The PADS | HackerRank

Query the name and abbreviated occupation for each person in OCCUPATIONS.

www.hackerrank.com

 

문제 해설

  • 쿼리는 총 2개로 구성
  • 이름(직업의 첫글자)로 출력하되 이름은 알파벳 순으로 정렬해서 조회 (Ex) Name : Anna Occupation : Doctor라면 Anna(D)
  • "There are a total of <각 직업별 카운트> <직업명>s."으로 출력하면서 갯수와 직업 순으로 정렬하면서 조회 (Ex) Doctor가 4명이라면 "There are a total of 4 doctors." -> 직업명은 소문자로 치환

 

나의 풀이 <MySQL>

SELECT CONCAT(Name, "(", LEFT(Occupation, 1), ")")
FROM OCCUPATIONS
ORDER BY Name;

SELECT CONCAT("There are a total of ", COUNT(Occupation), " ", LOWER(Occupation), "s.")
FROM OCCUPATIONS
GROUP BY Occupation
ORDER BY COUNT(Occupation), Occupation;
  • CONCAT을 이용하여 문자열을 연결하여 원하는 형태로 완성하였다.
    • CONCAT(문자열1, 문자열2, 문자열3, ... , 문자열n) : 문자열1부터 문자열n까지 나열한 결과
  • LEFT로 직업의 첫 글자를 추출하는데 이용
    • LEFT(문자열, n) : 문자열에서 n번까지의 문자열을 추출

LOWERS(문자열) : 문자열을 모두 소문자로 변환

728x90