📚문제
📝풀이
from collections import Counter
def solution(array, n):
if n in array:
return Counter(array).get(n)
else:
return 0
푼 문제 체크표시가 떠있길래 복습할 겸 문제를 풀어봤다
근데 저런 모듈과 클래스를 사용한 기억이 없는데..
아마 풀이에 기본적으로 모듈과 클래스가 import 되어 있는걸 보니
비슷한 류의 문제를 전에 한번 풀었었는데
다른 방법도 있다는 것을 알려주려고 하는 것 같다
전에는 for문을 돌면서 n과 비슷하면 cnt에 1을 추가해가는 형식으로 풀었었던것 같다
▼ collections 모듈과 Counter 클래스
collections
파이썬의 표준 라이브러리 중 하나에 속하는 모듈
-데이터 컬렉션을 다루는데 유용한 클래스와 함수들 제공
- Counter는 이 모듈에 포함된 클래스 중 하나
Counter
해시 가능한 객체들의 요소 개수 셀 때 사용
- 딕셔너리 형태로 저장
- 빈도 셀 때 유용 / 리스트,튜플,문자열 등 반복가능한(iterable) 객체 입력받을 수 있다
예시
# 리스트의 요소들의 개수를 세어주는 예시
my_list = [1, 2, 3, 1, 2, 1, 4, 5, 1]
my_list_counter = Counter(my_list)
print(my_list_counter)
# 출력: Counter({1: 4, 2: 2, 3: 1, 4: 1, 5: 1})
# 문자열의 각 문자들의 개수를 세어주는 예시
my_string = "hello"
my_string_counter = Counter(my_string)
print(my_string_counter)
# 출력: Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
+ Counter(iterable한 객체).get(n)
=> iterable 객체 내의 n의 개수만을 return
그 외 기능들
Counter 클래스의 다른 메서드들
- most_common(n): 가장 빈도가 높은 n개의 요소와 그 개수를 튜플 리스트로 반환
- elements(): Counter 객체의 요소들을 반복 가능한 형태로 반환
- update(iterable): 다른 반복 가능한 객체의 요소들의 빈도를 현재 Counter 객체에 추가
=> Counter 클래스는 데이터 분석, 통계적 분석, 텍스트 처리 등 다양한 상황에서 유용하게 사용
▼ 모듈과 라이브러리 ( 헷갈릴 때가 많아서 라이브러리 개념 나온 김에 정리 )
모듈
파이썬 코드를 구성하는 단위. 함수,클래스, 변수등의 정의들이 포함된 파일
- .py확장자 가지며, import문 사용하여 불러올 수 있음
- 재사용 가능한 코드를 구성하는 기본 단위
- 프로그램 구성하는 다양한 부분을 모듈로 나누어 개발하면 코드의 유지보수 편리해짐
ex) 'math' 모듈 => 수학 관련 함수 포함
'random' 모듈 => 난수 생성 함수 포함
'collections' 모듈 => 파이썬 표준 라이브러리에 포함된 하나의 모듈
라이브러리
프로그램 개발에 유용한 기능들의 모임 . 모듈들의 집합체
- 특정 주제나 기능에 관련된 모듈들을 포함하며, 이를 통해 더욱 효율적으로 개발
- 파이썬 표준 라이브러리는 파이썬 설치시 기본적으로 포함되며, 많은 모듈과 패키지들 제공
'Python(알고리즘,문제풀이) > 프로그래머스(입문100제)' 카테고리의 다른 글
코딩테스트입문 / 직사각형 넓이 구하기 (0) | 2023.08.02 |
---|---|
코딩테스트입문 / 머쓱이보다 키 큰 사람(filter 메서드) (0) | 2023.08.01 |
코딩테스트입문 / OX퀴즈 (0) | 2023.07.29 |
코딩테스트입문 / n의 배수 고르기 (0) | 2023.07.29 |
코딩테스트입문 / 문자열 계산하기 (0) | 2023.07.28 |