쉽게 쉽게

[HackerRank] The PADS 본문

문제풀이/HakerRank

[HackerRank] The PADS

곱마2 2023. 7. 19. 23:33
반응형

1. 문제

해석

1번 해석

  • OCCUPATIONS 테이블에 있는 모든 이름과 각 직업의 첫 글자를 괄호로 묶는다.
  • 이름의 알파벳순으로 정렬

2번 해석

  • OCCUPATIONS 테이블에서 직업과 각 직업의 수 출력 ('There are a total of [직업 수][직업명]' 형식으로 출력)
  • 직업 숫자, 직업 알파벳 순서로 오름차순으로 출력
  • 직업은 소문자로 출력

해답 예시

Ashely(P)
Christeen(P)
Jane(A)
Jenny(D)
Julia(A)
Ketty(P)
Maria(A)
Meera(S)
Priya(S)
Samantha(D)
There are a total of 2 doctors.
There are a total of 2 singers.
There are a total of 3 actors.
There are a total of 3 professors.

2. 풀이

보통 문자열을 합치기 위해 +기호를 사용했지만 오라클에서는 계산이 가능한 숫자형 칼럼에서만 사용이 가능하다.

그렇기에 문자형 타입에는 concat이나 ||을 사용해야 한다.

오라클에는 문자열을 합치기 위해 concat과 ||를 사용하는 방법이 있지만 보통은 가독성을 위해 || 사용한다.

특히 여러개의 문자열을 붙이게 되면 concat안에 또 concat함수가 들어가야 하므로 가독성이 떨어진다.

때문에 여러 개의 문자열을 붙일 때는 ||를 활용하여 문자열을 합치는 것이 좋다.

 

1. OCCUPATIONS 테이블에 있는 모든 이름과 각 직업의 첫 글자를 괄호로 묶는다.

SELECT Name || '(' || substr(Occupation,1,1) || ')'
FROM Occupations
ORDER BY Name;

2. OCCUPATIONS 테이블에서 직업과 각 직업의 수 출력 ('There are a total of [직업 수][직업명]' 형식으로 출력)

단 직업은 소문자로

정렬은 오름차순으로

SELECT 'There are a total of ' || COUNT(*) || ' ' || LOWER(Occupation) || 's.'
FROM Occupations
GROUP BY Occupation
ORDER BY COUNT(*), Occupation;
잘못된 내용이 있다면 지적부탁드립니다. 방문해주셔서 감사합니다.

 

 

반응형

'문제풀이 > HakerRank' 카테고리의 다른 글

[HackerRank] Interviews  (0) 2023.09.15
[HackerRank] Symmetric Pairs  (0) 2023.07.09
[HackerRank] Placements  (0) 2023.07.03
[HackerRank] Challenges  (0) 2023.07.01
[HackerRank] Top Competitors  (0) 2023.06.25