본문 바로가기
DB/문제풀이

[프로그래머스] 입양 시각 구하기(1) -LV.2

by 쬑께께 2023. 1. 13.

입양 시각 구하기(1)의 문제는 다음과 같다.

 

 

 

이번 문제를 풀기 위해선

1. 시간, 입양건수 출력

2. 9에서 19:59사이의 건수 출력

3. 시간별 입양건수 출력

4. 시간순으로 정렬

순으로 접근해야 한다.

 

 

 

 

 

우선 시간과 입양건수를 출려시키겠다.

시간의 경우는 HOUR( )를 통해 출력시키고,

입양건수의 경우 해당 시간이 몇 번 카운트되는가를

기준으로 출력시키려고 한다.

HOUR( ) : 값에서 시간에 해당하는 값만 반환

 

 

 

 

다음으로는 9에서 19:59사이의 건들만

출력되도록 조건을 걸어주겠다.

나는 편의를 위하여 BETWEEN  AND를 사용하였지만

만일 9시 이상, 20시 미만의 수식으로 출력하고자 한다면

9시 이상이면서 20시 미만이어야 하니 AND연산자를 통해

두 조건을 묶어 주어야 한다.

 

+++++++++++++++++++++++++++++++++++

 

생각해보니 BETWEEN 9 AND 20으로 조건을 걸어주게 되면

HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <=20과 같은 식이 되니

HOUR( )함수로 문제의 조건에 맞는 조건문을 짠다면

아래의 HOUR(DATETIME) >= 9 AND HOUR(DATETIME) < 20이

정확한 식이다.

아마 정확하게 20:00:00에 해당하는 값이 없어 정답 처리로 된 모양이지만

정확하게 문제를 풀자면 아래의 긴 조건문이 정답이다.

 

++++++++++++++++++++++++++++++++++++

 

 

 

 

이제 다음으로 

시간별로 건수가 출력되도록 해주겠다.

HOUR( )를 통해 시간별로 묶이도록 만들어주었다.

 

 

 

 

마지막으로 시간을 기준으로 정렬시켜주겠다.

정렬도 마찬가지로 HOUR( )를 통해  해주었다.

 

 

 

 

결과를 출력해보면

다음과 같이 시간별로

입양이 몇 건 있었는지 출력된다.

 

 

 

 

이제 정답인지 확인해보겠다.

정답이다.