Devin.KR

← 전체 문제

문제 1018 · 기초 3

같은 코드 다른 사람

해시 · 정렬

테스트별 제한 1500ms · 브라우저 채점

문제

과제 제출 시스템은 제출된 코드마다 지문(16진수 8자리)을 남긴다. 서로 다른 두 사람 이상이 같은 지문의 코드를 냈다면 확인이 필요하다. 같은 사람이 같은 코드를 여러 번 낸 것은 한 사람으로 센다. 제출 기록 N개가 주어질 때, 서로 다른 사람 2명 이상이 낸 지문을 모두 찾고 지문마다 몇 명이 냈는지 구하라.

입력

첫째 줄에 제출 수 N (1 ≤ N ≤ 20,000) 이 주어진다.

다음 N개 줄에 아이디와 지문이 공백으로 구분되어 주어진다. 아이디는 영문 소문자와 숫자로 된 1~10 글자다. 지문은 0~9, a~f 로 된 8글자다.

출력

해당하는 지문을 사전 순서로 한 줄에 하나씩, 지문과 사람 수를 공백으로 구분해 출력한다. 하나도 없으면 CLEAN 을 출력한다.

예제 입력 1

6
kim 1a2b3c4d
lee 1a2b3c4d
kim 1a2b3c4d
park 00ff00ff
choi 00ff00ff
lee 99999999

예제 출력 1

00ff00ff 2
1a2b3c4d 2

예제 입력 2

3
kim 1a2b3c4d
kim 1a2b3c4d
lee 0000abcd

예제 출력 2

CLEAN
힌트 펼치기
  • 지문을 키로, 그 지문을 낸 아이디의 집합(set)을 값으로 하는 사전(해시 맵)을 만들자.
  • 집합을 쓰면 같은 사람이 여러 번 낸 것이 자동으로 한 번만 세어진다.

관련 장

파이썬 리스트·튜플·딕셔너리·셋

파이썬 표준 라이브러리

출처: Devin.KR 자체 제작

풀이 작성

코드는 서버로 전송하지 않습니다. 테스트가 공개되는 연습용 채점으로, 대회·인증용이 아닙니다.

Python 채점은 준비 중입니다.

Tab: 공백 2칸 · Esc 후 Tab: 다음 요소로 이동. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

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

    로그인 여부와 관계없이 이 브라우저에만 최근 제출 50개를 저장합니다.

    이 브라우저의 제출 기록