-
[프로그래머스] 최빈값 구하기 - python코딩테스트 2023. 12. 6. 01:05
https://school.programmers.co.kr/learn/courses/30/lessons/120812
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr


def solution(array): dic = {} #딕셔너리로 만들기 ex) [1, 2, 3, 3, 3, 4] -> {1: 1, 2: 1, 3: 3, 4: 1} for i in range(len(array)): if array[i] in dic: dic[array[i]] += 1 else: dic[array[i]] = 1 #value의 max값 구하기 max_value = max(dic.values()) # 최댓값과 동일한 값을 갖는 키 찾기 max_keys = [key for key, value in dic.items() if value == max_value] #정수로 return하기 위해, 없으면 아래 returu에서 1가 아닌 [1] 형태로 return됨 answer = max_keys[0] #최빈값이 여러 개면 -1을 return if len(max_keys) >= 2: return -1 else: return answer#다른 사람 풀이
def solution(array): while len(array) != 0: # 리스트가 비어있지 않을 때까지 반복 for i, a in enumerate(set(array)): # set을 이용하여 중복을 제거한 후 반복 array.remove(a) # 중복이 없는 요소를 리스트에서 제거 if i == 0: return a return -1https://1ooflower.tistory.com/58
[PYTHON] enumerate()
enumerate() 객체(리스트, 튜플, 문자열 등)를 받아 해당 객체의 각 요소에 대해 인덱스와 값을 반환 for문과 함께 자주 사용 인덱스와 값을 동시에 접근하면서 루프를 돌리고 싶을 때 사용 enumerate( it
1ooflower.tistory.com
https://1ooflower.tistory.com/59
[PYTHON] 집합 생성 - set()
set() : 중복을 허용하지 않고, 순서가 없는(unique, unordered) 항목들의 집합 생성 a = set([1,2,3]) print(a) {1, 2, 3} #중복 X, 순서 보장 X b = "helloworld" print(set(b)) {'r', 'o', 'd', 'l', 'w', 'h', 'e'} #리스트, 튜플로
1ooflower.tistory.com
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 피자 나눠 먹기 (2) - python (1) 2023.12.07 [프로그래머스] 피자 나눠 먹기 (1) - python (1) 2023.12.06 [프로그래머스] 짝수는 싫어요 - python (1) 2023.12.05 [프로그래머스] 중앙값 구하기 - python (0) 2023.12.05 [프로그래머스] 배열 두배 만들기 - python (1) 2023.12.04