파이썬 - 최빈값

박진우·2022년 11월 9일
0

알고리즘

목록 보기
71/89

💡프로그래머스 - 최빈값 구하기

◽ 문제





◽ 입력 & 출력





◽ 풀이

  • 1번째 줄: Counter()를 사용하기위해 import해준다.

  • 5번째 줄: Counter()을 이용하여 array의 개수를 센다.

  • 6번째 줄: Counter()의 most_common()함수를 이용하여 몇번 나왔는지 확인한다.

  • 7번째 줄: 가장 자주 나오는 값(최빈값)의 개수를 maximum에 저장한다.

  • 8번째 줄: 최빈값이 1개인지 2개이상인지 확인하기 위하여 li리스트를 선언한다.

  • 10~ 11번째 줄: array를 num에 불러오고, 최빈값의 개수maximum (최빈값의 개수)가 같으면 li리스트에 append()해준다.

    전체 array의 요소들에서 최빈값의 개수와 같은 횟수의 개수가 있으면 append()

  • 각 요소의 최빈값의 개수와 미리 저장한 최빈값의 개수의 출력 결과

    TC2에서
    1 ➡️ 2
    2 ➡️ 2

    1과2가 2개로 확인되는걸 볼 수 있다.
  • 14번째 줄: 최빈값이 2개이상이면 -1을 return 해주고 아니면 그대로 최빈값을 출력한다.




✅ 다른 풀이

  • 전체적인 코드는 위의 코드와 비슷하지만 if 문에서 전체 길이가 1이면 하나밖에 없으니깐 그대로 최빈값을 출력한다
  • 전체길이가 2이상이면 첫번째 최빈값의 개수 두번째 최빈값의 개수를 비교해 같으면 최빈값이 여러개있다는 것을 의미하기 때문에 return-1을 해주고 같지 않으면 최빈값을 return한다.

0개의 댓글