프로그래머스 - 중복 제거하기

윤민선·2026년 6월 30일

프로그래머스

목록 보기
30/73

문제 설명

ANIMAL_INS 테이블에서 중복을 제거한 동물 이름의 수를 구하는 문제이다.

테이블주요 컬럼
ANIMAL_INSANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE

접근 방법

개수를 세야 하므로 COUNT()를 써야 한다. "중복 제거"라는 조건을 어떻게 표현할지에서 막혔다.

SELECT COUNT(*) NAME FROM ANIMAL_INS

여기서 "중복 제거"를 코드로 옮기려면 DISTINCT 키워드가 필요하다는 것을 정리하였다. DISTINCT는 중복된 값을 한 번만 세도록 해주는 키워드이며, COUNT() 함수 안에 넣어서 함께 사용할 수 있다.

COUNT(DISTINCT 컬럼명)

COUNT(NAME)COUNT(DISTINCT NAME)의 차이를 예시로 비교하면 다음과 같다.

NAME 컬럼: ['바둑이', '바둑이', '나비', '나비', '메리']

COUNT(NAME)            → 5  (중복 포함 전체 개수)
COUNT(DISTINCT NAME)   → 3  (중복 제거한 종류 수)

구체적으로 정리한 풀이 흐름:

  1. COUNT(DISTINCT NAME)으로 중복 제거 후 개수 집계

최종 코드

SELECT COUNT(DISTINCT NAME) AS COUNT
FROM ANIMAL_INS

0개의 댓글