관리 메뉴

솜씨좋은장씨

[BaekJoon] 20291번 : 파일 정리 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 20291번 : 파일 정리 (Python)

솜씨좋은장씨 2021. 7. 13. 00:10
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 파일 정리 입니다.

 

20291번: 파일 정리

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

www.acmicpc.net

Solution 

from collections import Counter

def arrange_files(file_list):
    file_formats = []
    for file in file_list:
        _, file_format = file.split(".")
        file_formats.append(file_format)
    cnt = Counter(file_formats).items()
    
    sorted_list = sorted(cnt, key=lambda x: x[0])
    
    for item in sorted_list:
        print(f"{item[0]} {item[1]}")
    
if __name__ == "__main__":
    file_list = []
    
    for _ in range(int(input())):
        file = input()
        file_list.append(file)
        
    arrange_files(file_list)

Solution 풀이

먼저 입력 받은 수 만큼 파일의 이름을 입력 받습니다.

입력 받은 파일의 목록을 리스트 형태로 저장한 다음

각 파일의 이름을 . 으로 split하여 이름과 확장자 명을 나누어 줍니다.

그럼 나온 확장자 명을 또 모은 뒤에 

collections의 Counter를 활용하여 각 확장자 별로 몇 번이나 나왔는지 카운팅 한 다음

이를 출력하면 끝!

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments