본문으로 이동
코드패스 by Devin.KR

문제 4221 · 바이트 V

카페의 시음 카드 묶음

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

작은 카페가 새로운 음료를 소개하는 시음 행사를 열었다. 각 시음 잔에는 음료 종류를 나타내는 카드가 한 장씩 붙어 있다. 카드에는 영문 소문자로 이루어진 짧은 코드가 적혀 있으며, 같은 음료 종류의 카드에는 항상 같은 코드가 적혀 있다. 서로 다른 음료 종류에는 서로 다른 코드가 적혀 있으므로 코드만으로 종류를 구별할 수 있다. 행사가 끝난 뒤 직원은 회수한 카드들을 한 묶음으로 모았다. 한 음료가 여러 잔 제공되었다면 같은 코드의 카드가 여러 장 들어 있을 수 있다. 반면 준비한 음료라도 회수된 카드가 한 장도 없다면 이 묶음에는 그 코드가 나타나지 않는다. 직원이 알고 싶은 것은 행사에서 준비한 전체 종류 수나 제공한 잔 수가 아니라, 회수한 카드 묶음에서 확인할 수 있는 음료 종류 수다. 두 카드의 코드는 길이와 모든 위치의 문자가 같을 때에만 같은 코드로 본다. 예를 들어 a와 aa는 서로 다른 코드이며, ab와 ba도 서로 다른 코드다. 한 코드가 몇 번 등장했는지는 종류 수에 영향을 주지 않는다. 같은 코드의 카드를 처음 발견했을 때만 새로운 종류 하나를 확인한 것으로 계산한다. 입력에는 회수한 카드의 코드가 카드 한 장마다 한 줄씩 주어진다. 카드의 순서는 임의로 섞여 있으므로 같은 코드가 연속해서 등장한다는 보장은 없다. 떨어져 있는 두 카드라도 코드가 같다면 하나의 음료 종류로 세어야 한다. 입력에 나타나지 않은 코드를 추측하여 종류 수에 더하지 않는다. 회수한 카드 중 서로 다른 코드가 모두 몇 개인지 구하는 프로그램을 작성한다. 카드가 모두 같은 코드라면 답은 1이고, 모든 카드의 코드가 서로 다르면 답은 카드 수와 같다.

입력

첫째 줄에 카드 수 N이 주어진다. N은 정수이며 1 ≤ N ≤ 100,000이다. 다음 N개 줄에 카드 코드가 하나씩 주어진다. 코드는 영문 소문자로만 이루어지며 길이는 1 이상 2 이하이다.

출력

회수한 카드에 나타나는 서로 다른 코드의 개수를 정수 하나로 출력한다.

예제 입력 1

7
a
bc
a
cb
bc
aa
a

예제 출력 1

4

예제 입력 2

4
zz
zz
zz
zz

예제 출력 2

1

예제 입력 3

1
q

예제 출력 3

1
힌트 펼치기
  • 이미 확인한 코드가 다시 등장해도 종류 수는 늘어나지 않는다.
  • 집합에는 같은 원소가 여러 번 저장되지 않는다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류집합문자열

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)