프로그래머스 - 고양이와 개는 몇 마리있을까?

윤민선·2026년 7월 17일

프로그래머스

목록 보기
46/84

문제 설명

동물 보호소에 들어온 동물 정보가 저장된 테이블에서 고양이(Cat)와 개(Dog)가 각각 몇 마리 있는지 조회하는 문제이다.

조건을 만족하도록

  • 동물 종류(ANIMAL_TYPE)
  • 동물 수(COUNT)

를 출력하면 된다.

결과는 동물 종류(ANIMAL_TYPE)를 기준으로 오름차순 정렬한다.


접근 방법

고양이와 개를 조회하라 했으므로 WHERE절에서 IN을 사용해 조건을 지정한다.

WHERE ANIMAL_TYPE IN ('Cat', 'Dog')

이후 동물 종류별 개수를 구하기 위해 GROUP BY ANIMAL_TYPE을 사용한다.

각 그룹의 개수는 COUNT(*)를 이용해 계산할 수 있다.

마지막으로 문제에서 요구한 대로 ORDER BY ANIMAL_TYPE ASC를 사용하여 오름차순으로 정렬한다.

SELECT ANIMAL_TYPE, COUNT(*)
FROM ANIMAL_INS
WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
GROUP BY ANIMAL_TYPE;

GROUP BY까지만 작성하면 정렬 순서가 보장되지 않는다.
문제에서 오름차순 정렬을 요구하므로 ORDER BY를 추가해야 한다.


풀이 순서

  1. WHERE절에서 고양이(Cat)와 개(Dog)만 조회한다.
  2. GROUP BY ANIMAL_TYPE으로 동물 종류별 그룹을 만든다.
  3. COUNT(*)를 이용해 각 동물 종류의 개수를 계산한다.
  4. ORDER BY ANIMAL_TYPE ASC로 동물 종류를 오름차순 정렬한다.

최종 코드

SELECT ANIMAL_TYPE, COUNT(*) AS COUNT
FROM ANIMAL_INS
WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE ASC;

0개의 댓글