백준 20291번 파일 정리

파일 정리 문제 바로 가기

문제:
친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 확인할 수 있었다.

힌트: 확장자를 기준으로 파일을 정리해야 한다.

요구사항:
- 파일을 확장자 별로 정리해서 몇 개씩 있는지 알려줘 - 보기 편하게 확장자들을 사전 순으로 정렬해 줘

입력:
- 첫째 줄에는 파일의 수 N이 주어진다. - 이후 N개의 줄에는 파일명이 주어진다. - 점(`.`)은 정확히 한 번 등장하며, 파일 이름의 첫 글자 또는 마지막 글자가 아님이 보장된다.

출력:
- 확장자의 이름과 그 확장자 파일의 개수를 한 줄에 하나씩 출력한다. - 확장자가 여러 개 있는 경우 확장자 이름의 사전순으로 출력한다.


풀이 코드


import sys
input = sys.stdin.readline
dic = {}

n = int(input())
for _ in range(n):
    name, extension = (input().rstrip()).split('.')

    if extension not in dic:
        dic[extension] = 1
    else:
        dic[extension] += 1

for key in sorted(dic.keys()):
    print(key, dic[key])


해결 방:

  • split('.')을 사용하여 파일 이름과 확장자를 나눈다.
  • 확장자를 key로 하는 dictionary를 만들고, 등장 횟수를 count한다.
  • sorted(dic.keys())로 확장자 이름을 정렬한 뒤 출력한다.