반응형
https://www.hackerrank.com/challenges/the-pads/problem
1) 첫번째 작업
OCCUPATIONS 라는 테이블이 주어져 있고 해당 테이블에는 이름과 직업 컬럼이 존재한다.
이 문제에서 도출해야 하는 결과는 "이름(직업 첫 글자 대문자)" 의 결과로 출력해야 하고
출력 행의 순서는 이름 오름차순이 되어야 한다.
2) 두번째 작업
또한, There are a total of x 직업명 을 출력해야하는데, 현재 테이블에 있는 직업명 자체를 집계화 시켜서
개수를 구한다음 직업명 갯수 오름차순 + 직업명 오름차순을 시켜주면 된다.
1) 첫번째 작업
SELECT
CONCAT(name,'(',UPPER(LEFT(occupation,1)),')')
FROM OCCUPATIONS
ORDER BY name
첫번째 작업은 그저 직업의 앞글자를 대문자로 바꿔주고 소괄호와 합쳐주고 이름순으로 출력하면 되므로 위와 같이
쿼리할 수 있다.
2) 두번째 작업
SELECT
CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.')
FROM OCCUPATIONS
GROUP BY occupation
ORDER BY COUNT(*),occupation
각 직업이 몇번 나오는지 집계해주는 쿼리를 작성해준다.
정렬순서는 직업의 갯수 + 직업명 순으로 지정한다.
해당 결과를 기준으로 집계한 직업의 갯수와 직업명을 CONCAT 함수를 통하여 적절하게 문자화 시켜준다.
최종 답.
SELECT
CONCAT(name,'(',UPPER(LEFT(occupation,1)),')')
FROM OCCUPATIONS
ORDER BY name
SELECT
CONCAT('There are a total of ',COUNT(*),' ',LOWER(occupation),'s.')
FROM OCCUPATIONS
GROUP BY occupation
ORDER BY COUNT(*),occupation
반응형
'코딩 테스트' 카테고리의 다른 글
백준 14502번 - 연구소 (0) | 2022.01.04 |
---|---|
HackerRank - Type of Triangle(SQL) (0) | 2021.12.27 |
백준 4963번 - 섬의개수 (0) | 2021.12.24 |
백준 2178번 - 미로탐색 (2) | 2021.12.21 |
백준 2468번 - 안전영역 (0) | 2021.12.20 |