[프로그래머스] 코딩테스트 입문 최빈값 구하기
2024. 7. 23. 19:56ㆍPYTHON
프로그래머스 입문
리스트를 새로 만들고 그안에 빈도 값을 세어 추가한다.
array 배열의 [0] 부터 array배열의 길이만큼 반복한다.
리스트이름.count(n) : n값이 리스트 안에 몇번 들어있는지 알려주는 코드
겹치는 최빈값이 없다면 최빈값 리스트안에는 1개의 값만 들어있을 것이다.
그렇지 않다면 -1을 출력하는 코드를 작성
나의 풀이
def solution(array):
from collections import Counter
count = Counter(array)
max_freq = max(count.values())
modes = [k for k, v in count.items() if v == max_freq]
if len(modes) > 1:
return -1
return modes[0]
비슷한 다른사람의 풀이
def solution(array):
answer = 0
value = []
count = []
for i in range(len(array)):
if array[i] not in value:
value.append(array[i])
for i in range(len(value)):
count.append(array.count(value[i]))
if count.count(max(count)) != 1:
answer = -1
else: answer = value[count.index(max(count))]
return answer
비슷한 다른사람의 풀이2
def solution(array):
answer = 0
value = []
count = []
for i in range(len(array)):
if array[i] not in value:
value.append(array[i])
for i in range(len(value)):
count.append(array.count(value[i]))
if count.count(max(count)) != 1:
answer = -1
else: answer = value[count.index(max(count))]
return answer
'PYTHON' 카테고리의 다른 글
[파이썬] 문자열에서 자주 사용하는 함수 (0) | 2024.08.04 |
---|---|
[파이썬 기초]문자열 포맷팅 (0) | 2024.08.03 |
[파이썬] 두 수의 최대공약수 구하기 (0) | 2024.07.21 |
파이썬의 내포 표기법(Comprehension) (0) | 2023.08.26 |
파이썬 등가성과 동일성 (0) | 2023.08.26 |