View

  • 문제 설명

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 1,000
  • 0 ≤ n ≤ 1,000

입출력 예arraynresult
[1, 1, 2, 3, 4, 5] 1 2
[0, 2, 3, 4] 1 0

입출력 예 설명

입출력 예 #1

  • [1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다.

입출력 예 #2

  • [0, 2, 3, 4] 에는 1이 0개 있습니다.

나의 풀이

1.  count는 파이썬의 내장함수이다. 리스트의 크기가 클수록 count를 사용하는 것이 비효율적이다.

def solution(array, n):
    array.sort(key=lambda x:x )
    return array.count(n)

2. collections 모듈의 Counter 함수 사용.

from collections import Counter
def solution(array, n):
    dict = Counter(array)
    return dict[n]

아래와 같이 중복 문자의 빈도수와 대응되는 문자를 dictionary형태로 얻게 된다. Counter사용하는 것이 속도 면에서 굉장히 좋다.

 

Reference

https://m31phy.tistory.com/352

Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31