[백준] 4358 : 생태학

이상훈·2023년 10월 4일
0

알고리즘

목록 보기
30/57
post-thumbnail

생태학

풀이

 Dictionary 사용하는 문제다. Dictionary 개념만 들어봤지, 실제로는 처음 사용해봐서 꽤 난해했다.. Dictionary 자료형은 key-value를 쌍으로 가지는 자료형으로 알고리즘 문제에서 주로 횟수 세기 문제에서 많이 사용된다고 한다. Dictionary 자료형을 사용할 때 만약 Dictionary에 원소가 없을 때를 체크하는 조건문이 많이 사용되는데 이 경우에 defaultdict를 활용하여 초기값을 세팅하면 가독성 좋은 코드를 짤 수 있다. defaultdict에 대해서는 아래 내가 작성한 글을 참고하자.

참고 : Dictionary 초기값 지정

import sys
from collections import defaultdict

num_data = defaultdict(int)
n = 0
while True:
    word = sys.stdin.readline().rstrip()
    if word == '':
        break
    num_data[word] += 1
    n += 1

num_data = sorted(num_data.items())
for key, value in num_data:
    value = value/n*100
    print(key, format(value, ".4f"))

시간복잡도 : O(NlogN)

profile
Problem Solving과 기술적 의사결정을 중요시합니다.

0개의 댓글