250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- AI 5기
- 함수실행시간
- 데벨챌
- cte
- 알고리즘
- with\
- python
- time()
- venv
- 그로스해킹
- Iterator
- position
- googleappscript
- Display
- 가상환경
- 데이터리안
- A태그
- Level1
- 우선순위
- gitignore
- 내일배움캠프
- 프로그래머스
- WIL
- 데이터넥스트레벨챌린지
- iterable
- itertools
- 함수성능평가
- vscode
- googlesheet
- git #github #내일배움캠프
Archives
- Today
- Total
05의 개발 계발
[알고리즘] [Python] 최빈값 구하기 본문
728x90
내 코드
def solution(array):
dict_ = {}
for arr in array:
try:
dict_[arr] += 1
except:
dict_[arr] = 1
max_count = max(list(dict_.values()))
list_ = [x for x in set(array) if (dict_)[x] == max_count] #리스트컴프리헨션
return list_[0] if len(list_) == 1 else -1 #삼항연산자
베스트 코드
def solution(array):
while len(array) != 0:
for i, a in enumerate(set(array)): #set(집합)은 중복값을 무시하고, 원소의 종류를 오름차순 정렬해준다.
array.remove(a)
if i == 0:
return a
return -1
평소 데이터 자체에 변화를 주는 remove나 pop의 사용을 꺼려했었는데,
경우에 따라서는 제거를 활용하여 원하는 바를 도출 할 수 있음을 크게 느끼는 계기가 되었다.
생각해보면 빈리스트에 append는 하면서, 왜 지울 생각을 못했던걸까?
다음에는 소거법도 고려하도록 하자!
728x90
'알고리즘' 카테고리의 다른 글
[알고리즘] 230426 개인정보 수집 유효기간 (0) | 2023.04.26 |
---|---|
[알고리즘] 230419 점의 위치 구하기 | if , 삼항연산자 , bool type (0) | 2023.04.19 |
[알고리즘] 230408 완주하지 못한 선수 collection.Counter() / return의 성질 (0) | 2023.04.09 |
[알고리즘] [Python] 배열 두 배 만들기 (0) | 2023.04.03 |