본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 최빈값 구하기

728x90

📚문제

출처 : 코딩테스트입문 / 최빈값 구하기(https://school.programmers.co.kr/learn/courses/30/lessons/120812)

 

📝풀이

# 내 풀이

def solution(array):
    set_array = set(array)
    result = []
    for i in set(array):
        result.append(array.count(i))
    if result.count(max(result))==1:
        return max(result)
    else:
        return -1

 

꽤 오래 걸렸어도 나름 열심히 생각해서 풀었는데 틀렸다....

set 함수 쓰는 방법이 번뜩 생각나길래 적용해가면서 풀다보니 정답이라고 생각했다...

근데 코드실행은 다 통과 됐는데 채점에서 실패가 떴네^^

(사실 아직도 왜 틀리는지 잘 모르겠다)

 

구글링 하다가 다른 풀이는 좀 어렵고

여러 후기에서 제일 명쾌하고 좋아요 많이 받았다는 

코드를 참고 해봤다

 

def solution(array):
    while len(array) != 0:
        for i, a in enumerate(set(array)):
            array.remove(a)
        if i == 0: return a
    return -1

 

하나씩 해보니까 정답이 되긴 되었다...

어떻게 이런 생각을 할 수 있는지 신기할 따름이다

이것도 이해를 돕기 위해서 다른 분의 블로그를 참고하였다 ㅎ

https://dduniverse.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%B5%9C%EB%B9%88%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC-Python

 

프로그래머스 | 최빈값 구하기 [파이썬 Python]

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

dduniverse.tistory.com

 

근데 이거 입문인데 왜 이렇게 어렵나요.......?

728x90