[프로그래머스][LV.0] 중복된 숫자 개수 | python3

2025. 1. 14. 18:51프로그래머스/LV.0

문제 링크: 중복된 숫자 개수

 

문제 설명

문제 설명

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


제한사항

- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array의 원소 ≤ 1,000
- 0 ≤ n ≤ 1,000

 


문제 풀이

count() 함수가 생각이 안나서 for문으로 돌려서 했다. 

♠ count() 함수

- 문자열과 리스트에서 사용할 수 있는 함수
- '문자열'.count('s') | '리스트'.count(인자) 이런식으로 사용
- 딕셔너리나 set에서는 사용하지 못한다
- 시간복잡도 : O(N)
√ count()는 내부적으로 for문을 돌려서 리스트 안의 인자의 개수를 세주는 함수이다, for문안에 count() 함수를 쓰면 시간복잡도가 O(N^2)이 된

 

내코드

def solution(array, n):
    answer = 0
    for i in array:
        if i==n:
            answer+=1
    return answer

 

 


더보기
더보기

다른사람풀이

def solution(array, n):
    return sum(1 for x in array if x == n)

 

이런 생각은 어케 하는 거지..

sum함수 안에 for문을 돌려서 같을때마다 1을 더한다.

 

어차피 count() 함수도 for문을 쓴다고 했으니 시간복잡도가 다르지 않을듯