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 |
Tags
- 우선순위
- 함수실행시간
- WIL
- googlesheet
- python
- sql
- iterable
- 알고리즘
- gitignore
- Level1
- 가상환경
- googleappscript
- cte
- AI 5기
- venv
- with\
- AI
- Iterator
- git #github #내일배움캠프
- target
- position
- time()
- 함수성능평가
- 프로그래머스
- Display
- 내일배움캠프
- itertools
- vscode
- onClick
- A태그
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 |