n = int(input())
file_list = {} #{확장자 : 파일 개수} 딕셔너리
for file in range(n):
cnt = 0 #파일 개수
#파일 확장자를 기준으로 파일 개수를 찾는 것이 핵심인 문제이다.
#따라서 우리는 파일의 확장자만 필요!
ext = input().split('.')[1] #'.'을 구분자로 나누었을때 확장자에 해당하는 것
if ext not in file_list.keys(): #딕셔너리에 들어있는 확장자가 아니면 새로 추가해야함
cnt += 1
file_list[ext] = cnt
else: #기존 딕셔너리 키에 있다면 기존 파일 개수를 하나 늘려주면 됨.
file_list[ext] = file_list[ext] + 1
#출력
for ext, cnt in dict(sorted(file_list.items())).items():
print(f'{ext} {cnt}')
처음에 풀었을 때는 <시간 초과>가 떴는데.. 이 코드도 같이 첨부한다.
n = int(input())
file_list = []
for file in range(n):
ext = input().split('.')[1] #확장자
file_list.append(ext) #확장자를 리스트에 추가함
file_list.sort() # 사전순으로 정렬
for idx in range(n):
#첫번째로 나오는 확장자는 한번도 카운트를 세지 않았으므로
#개수를 세서 출력해주기
if idx == 0:
print(f'{file_list[idx]} {file_list.count(file_list[idx])}')
#두번째부터 나오는 확장자들은 이전에 출력된 확장자인지 확인 필요
else:
#이전에 출력된적이 있다면 건너뛰고
if file_list[idx] == file_list[idx - 1]:
continue
#새로운 확장자이면 개수를 세서 출력해주기
else:
print(f'{file_list[idx]} {file_list.count(file_list[idx])}')
좋은 정보 얻어갑니다, 감사합니다.