백준 20291번 파일 정리
파일 정리 문제 바로 가기
문제:
친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 확인할 수 있었다.
힌트: 확장자를 기준으로 파일을 정리해야 한다.
요구사항:
- 파일을 확장자 별로 정리해서 몇 개씩 있는지 알려줘 - 보기 편하게 확장자들을 사전 순으로 정렬해 줘
입력:
- 첫째 줄에는 파일의 수 N이 주어진다. - 이후 N개의 줄에는 파일명이 주어진다. - 점(`.`)은 정확히 한 번 등장하며, 파일 이름의 첫 글자 또는 마지막 글자가 아님이 보장된다.
출력:
- 확장자의 이름과 그 확장자 파일의 개수를 한 줄에 하나씩 출력한다. - 확장자가 여러 개 있는 경우 확장자 이름의 사전순으로 출력한다.
친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 확인할 수 있었다.
힌트: 확장자를 기준으로 파일을 정리해야 한다.
요구사항:
- 파일을 확장자 별로 정리해서 몇 개씩 있는지 알려줘 - 보기 편하게 확장자들을 사전 순으로 정렬해 줘
입력:
- 첫째 줄에는 파일의 수 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())로 확장자 이름을 정렬한 뒤 출력한다.