Data is ___ ?

백준 단계별로 풀어보기(집합과 맵) 파트에서 계속 시간초과가 발생했다.

해결방법으로는 두가지 정도로 요약할 수 있는데, 첫번째로는 리스트 대신 딕셔너리 사용, 두번째로는 개수를 세는 문제에서 for문을 돌면서 세지 말고 파이썬 함수 Counter를 사용하는 것이다. 이 두가지에 대해서 정리를 해보고자 한다.

 

딕셔너리

diction_name = {}
diction_name[key_name] = value_name

 

  • 딕셔너리를 { }를 통해 하나 만든다.
  • 리스트와 달리 값을 추가할 때 list_name.append(value)가 아니라 key를 찾아서 value를 지정해주는 형식

 

 

 


Counter

from collections import Counter
c = Counter(nm_name)
  • key 값으로는 이름, value 값으로는 각각의 개수가 만들어진다.

 

 

 


순열과 조합

from itertools import combinations, permutations
nums = [1,2,3,4]

# 순열
perm = list(permutations(nums, 2))

# 조합
combi = list(combinations(nums, 2))

'Python > 자료구조, 알고리즘' 카테고리의 다른 글

에라토스테네스의 체  (0) 2023.05.02
[파이썬] 약수, 배수, 소수  (0) 2023.04.03
재귀함수  (1) 2023.02.03
profile

Data is ___ ?

@콩순이컴퓨터

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...