>> 문제
=> 문제는 최빈값에서 발생했다.
=> 코드가 길어지니 시간초과가 뜨기 시작한것
=> 따라서 counter 모듈을 통해 시간 초과를 극복하고자 했다.
참고 : https://www.daleseo.com/python-collections-counter/
#collections 모듈의 counter 기능
상황 : 각 데이터가 몇번 저장되어있는지를 계산할 때
=> 어떤 데이터가 몇 번 등장하는지를 계산
# 기본 사용법
from collections import Counter
Counter(배열)
=> 배열 각 요소의 데이터가 몇번 등장하는지를 사전처럼 저장
#가장 흔한 데이터 찾기 : most_common 메서드
=> 가장 많이 나온 인자부터 튜플 리스트로 반환
=> most_common(n) : 가장 많이 나온 순으로 n개를 반환하라
>> 최종코드 : 최빈값 구하기(최빈값이 여러개일 때 뒤에서 두번째 값 출력)
1단계 : Counter 메소드 => 가장 많이 등장한 2개 숫자를 순서대로 튜플리스트에 저장
2-1단계 : 만약 2개 숫자의 빈도가 같다면 => 앞에서 두번째(두번째로 작은 수) 출력
2-2단계 : 만약 2개 숫자의 빈도가 다르다면 => 가장 많이 등장한 첫번째 수 출력
else) 만약 숫자가 1개밖에 없다면
=> 그냥 그 숫자 출력
'백준 문풀' 카테고리의 다른 글
[Python] 백준 18870 : 좌표 압축 / 시간초과 극복 (0) | 2023.03.23 |
---|---|
[Python] 백준 11718 : 그대로 출력하기 (0) | 2023.03.17 |
(파이썬 )백준 10989번 : 수 정렬하기3 / 메모리 초과 극복법 (0) | 2023.01.06 |
백준 문제풀이_1065번(한수/등차수열) (0) | 2022.11.20 |
백준 문제풀이 : 4673번(셀프 넘버) / set 차함수 아이디어 (0) | 2022.11.12 |