반응형
코드
n = int(input())
dic = {}
for _ in range(n):
file = input().split('.')[1]
if file in dic:
dic[file] += 1
else:
dic[file] = 1
s_dic = sorted(dic.items())
for i in s_dic:
print(i[0],i[1])
설명
입력 받은 파일 이름을 ' . ' 을 기준으로 나눠서 뒷 부분만 사용했다. 딕셔너리를 만들어서 딕셔너리에 이미 존재하는 확장자이면 +1을 해주고 존재하지 않으면 dic[file] = 1을 해서 추가해주었다.
<딕셔너리 정렬>
- key 기준 오름차순 정렬
sorted(dic.items())
- key 기준 내림차순 정렬
sorted(dic.items(), reverse=True)
- value 기준 오름차순 정렬
dict = sorted(dict.items(), key=lambda x:x[1])
또는
dict= sorted(dict.items(), key=operator.itemgetter(1)) # import operator 추가
- value 기준 내림차순 정렬
dict = sorted(dict.items(), key=lambda x:x[1], reverse=True)
또는
dict= sorted(dict.items(), key=operator.itemgetter(1), reverse=True) # import operator 추가
반응형
'알고리즘 > 문자열' 카테고리의 다른 글
[백준][Python] 20437번 문자열 게임 2 (0) | 2022.07.01 |
---|---|
[백준][Python] 17609번 회문 (0) | 2022.06.30 |
[백준][Python] 9342번 염색체 (0) | 2022.06.28 |
[백준][Python]6550번 부분 문자열 (0) | 2022.06.28 |
[백준][Python] 4659번 비밀번호 발음하기 (0) | 2022.06.27 |
댓글