알고리즘/프로그래머스 레벨 0 - python

Day3 - 3) 최빈값 구하기

젤리의it 2023. 1. 15. 21:57

프로그래머스 문제: https://school.programmers.co.kr/learn/courses/30/lessons/120812

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

1. 인덱스와 원소를 사용해서 문제 풀기

def solution(array):
    answer = 0 # 최빈갓 숫자
    max_count =-1 # 최빈값 갯수
    count=0

    for i in range(len(array)):
        if array[i] != answer:  # 현재 숫자 vs 최빈값 숫자
            # 최빈값의 갯수보다 큰경우
            if (array.count(array[i]) > max_count):
                max_count = array.count(array[i])
                answer = array[i]
                count =0
            elif(array.count(array[i]) == max_count):
                count +=1
    if count >=2:
        answer =-1
    return answer

2. - count()와 max() 함수를 사용한 방법을 추가할 예정 입니다.

 

문제를 풀면서 느낀점

처음으로 문제푸는 것이 너무 어렵다고 생각했습니다.

인덱스와 원소를 구분해서 푸는 방법으로 생각했습니다.