반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120812
구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
key는 숫자 value는 빈도 수를 저장할 hashmap인 dict를 선언 후 빈 객체로 초기화합니다.
📔 풀이과정
1. dict에 array의 원소를 순회하며 숫자, 빈도 수를 저장합니다.
2. max_freq를 선언해 dict의 value들 중 최댓값을 저장합니다.
3. max_freq_cnt를 선언해 dict의 value들 중 max_freq인 value가 있다면 max_freq가 몇 번 나왔는지 세주고 answer를 갱신합니다.
📔 정답 출력 | 반환
1. max_freq_cnt가 1초과하면 -1을 반환합니다.
2. answer를 반환합니다.
📕 Code
📔 Python3
def solution(array):
dict = {}
for num in array:
dict[num] = dict.get(num,0) + 1
max_freq = max(dict.values())
max_freq_cnt = 0
for key, value in dict.items():
if max_freq == value:
answer = key
max_freq_cnt+=1
if max_freq_cnt > 1:
return -1
return answer
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(Python3) - 프로그래머스(코딩테스트 입문) : 피자 나눠 먹기 (1) (0) | 2024.10.23 |
---|---|
(Python3) - 프로그래머스(코딩테스트 입문) : 짝수는 싫어요 (0) | 2024.10.23 |
(Python3) - 프로그래머스(코딩테스트 입문) : 중앙값 구하기 (0) | 2024.10.23 |
(Python3) - 프로그래머스(코딩테스트 입문) : 나머지 구하기 (0) | 2024.10.23 |
(Python3) - 프로그래머스(코딩테스트 입문) : 배열의 평균값 (0) | 2024.10.23 |