티스토리 뷰

1. 문제

https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true&h_r=next-challenge&h_v=zen 

 

The PADS | HackerRank

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

www.hackerrank.com

 

2. 풀이

  • 이름을 나열하는 쿼리과 직업별 사람수를 세는 쿼리를 각각 작성한다.
  • 이름을 나열하는 쿼리에서는
    • AnActorName(A) 형식으로 만들기 위해 concat을 사용한다.
    • 직업의 첫글자를 잘라내기 위해 left()를 사용한다. substring(occupation, 1, 1)도 가능하다
  • 직업별 사람수를 세는 쿼리
    • 형식에 맞춘 문장을 만들기 위해 concat을 사용한다.
    • 직업을 소문자로 하기 위해 lower()을 사용하고, 직업별 사람수 오름차순, 이름 글자별로 오름차순 정렬한다.

 

3. 코드

select concat(name, '(', 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(*) asc, occupation asc;
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함