Functions-[collections-(counter & most_common())]

2021. 11. 28. 16:33·코딩테스트/파이썬 알고리즘

오늘은 counter 함수를 설명하겠다. 관련된 문제로는 백준의 #11652 카드 문제가 있다.

 

11652번: 카드

준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지

www.acmicpc.net

우선 나는 맨처음에 그냥 딕셔너리를 내가 만들어서 숫자의 개수를 세줬는데 이 기능을 그대로 해주는 함수가 있었다. collections 모듈의 counter 함수이다. 당연히 코드 맨윗줄에 모듈을 먼저 불러와야 하므로 import를 을 해줘야 한다

from collections import counter

위에서도 설명했지만 그냥 아래의 기능을 한 줄로 가능하게 하는 것이다. 

def counts(word):
    board = {}
    for letter in word:
        if letter not in board:
            board[letter] = 1
        else:
        	board[letter] += 1
    return board
    
print(counts("Hello World"))
from collections import Counter

Counter('hello world')

또한 카드 문제에서 요구하는 데이터의 개수가 많은 걸로 정렬하는 메서드도 collections 모듈안에 있는데most_common()이라는 메서드다. 또한 ()안에 인자를 넣어주면 그 갯수만큼 가장 많은걸 반환한다.

from collections import Counter

Counter('hello world').most_common()

이처럼 카드문제를 그냥 풀어서 쓸 수도 있지만 이 모듈을 이용하면 간단하게 풀 수 있다. 

728x90

'코딩테스트 > 파이썬 알고리즘' 카테고리의 다른 글

Study-[Python_모듈/함수/패키지/메소드]  (0) 2021.12.07
Algorithms-[Euclidean algorithm & The Sieve of Eratosthenes ]  (0) 2021.12.01
Function-[sys.stdin.readline()]  (0) 2021.11.27
Algorithms-[DFS]  (0) 2021.11.26
Algorithms-[Greedy] (백준 #11047 [동전0])  (0) 2021.11.21
'코딩테스트/파이썬 알고리즘' 카테고리의 다른 글
  • Study-[Python_모듈/함수/패키지/메소드]
  • Algorithms-[Euclidean algorithm & The Sieve of Eratosthenes ]
  • Function-[sys.stdin.readline()]
  • Algorithms-[DFS]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    DFS
    백준
    이것이취업을위한코딩테스트다
    이분탐색
    BFS
    그리디
    dp
    이코테
    나동빈
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바