코딩문제풀이/파이썬

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

오늘밤공부 2023. 2. 23. 14:19
반응형

🗓️ 문제 설명

  • 정수 배열 array가 주어질 때, 주어진 값에서 최빈값을 반환하세요.
  • 최빈값이 여러 개면 -1을 반환합니다.
  • 제한 사항
    • 0 < array의 길이 < 100
    • 0 ≤ array의 원소 < 1000
  • 입출력 예시
array result
[1, 2, 3, 3, 3, 4] 3
[1, 1, 2, 2] -1
[1] 1

 

💻 코드

최종 코드

- 수정사항
 >> 최빈값이 0인 경우를 대비하여 최빈값을 저장하는 save를 None으로 변경
 >> 불필요한 코드를 삭제

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  1. 2번줄 : array 안에 숫자가 있는동안 반복하는 반복문
  2. 3번줄 : array에서 중복을 제거하고 인덱스(i)와 숫자(a)를 지정하여 돌아가는 반복문
  3. 4번줄(*) : 중복값을 제거한 array에서 숫자(a)를 기존 array에서 제거
  4. 3~4번줄 : array에서 적게 사용되는 숫자를 줄여감
    >> 해당 코드를 통해 최빈값만 남을때까지 반복
  5. 5번줄 : 최빈값이 1개인지 파악하는 조건문으로 만일 최빈값이 1개라면 모든 인덱스는 제거되고 0번 인덱스만 남게됨
  6. 6번줄 : 최빈값이 2개 이상일 경우, 문제 조건에 의해 -1을 반환

 

⚙️ 시행착오

1차 시도

더보기

- 테스트 15번에서 실패가 발생
- 확인해보니 save를 0으로 설정하여 최빈값이 0인 경우에 발생한 문제

 

알게된 점

더보기

- 다른 사람 코드를 더 많이 보고 분석해봐야겠다!

반응형