Implementation_15_파일정리(20291)

Eugenius1st·2022년 5월 5일
0

Algorithm_Baekjoon

목록 보기
95/158

Implementation15파일정리(20291)

문제

입력

첫째 줄에 바탕화면에 있는 파일의 개수 NN이 주어진다. (1N50 0001 \leq N \leq 50\ 000)

둘째 줄부터 NN개 줄에 바탕화면에 있는 파일의 이름이 주어진다. 파일의 이름은 알파벳 소문자와 점(.)으로만 구성되어 있다. 점은 정확히 한 번 등장하며, 파일 이름의 첫 글자 또는 마지막 글자로 오지 않는다. 각 파일의 이름의 길이는 최소 33, 최대 100100이다.

출력

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

풀이

  • . 을 기준으로 문자를 나눠서 확장자를 key로 사전에 등록
  • 사전을 정렬한다.
  • key를 기준으로 정렬하는 방법
dict = {'A' :1,'D' :4,'C' :3,'B' :2}
sdict= sorted(dict.items())
#items() 함수는 key-value 쌍이 tuple로 구성된 리스트가 리턴됩니다.
#>> [('A', 1), ('B', 2), ('C', 3), ('D', 4)]

코드

import sys
sys.stdin = open ("input.txt", "rt")
input = sys.stdin.readline

n = int(input())
file = dict()

for _ in range(n):
    extend = (input().split('.'))[1]
    if not extend in file:
        file[extend] = 1
    else:
        file[extend] += 1

sort_file = sorted  (file.items())

for key, value in sort_file:
    print(key.rstrip(), value)
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글