Programmers
[프로그래머스]주사위게임3 value의 최대값으로 key값 구하기
딸기뚜왈기
2024. 1. 22. 18:12
https://school.programmers.co.kr/learn/courses/30/lessons/181916
def solution(a, b, c, d):
alpha = [a, b, c, d]
alpha_cnt = {}
for i in alpha:
alpha_cnt[i] = alpha.count(i)
max_keys = max(alpha_cnt, key = alpha_cnt.get) # 1 : 3, 4 : 1 ,1 : 3, 1 : 3
min_keys = min(alpha_cnt, key = alpha_cnt.get)
if alpha_cnt[max_keys] == 4:
return 1111 * max_keys
elif alpha_cnt[max_keys] == 3:
return (10 * max_keys + min_keys) ** 2
elif alpha_cnt[max_keys] == 2:
if alpha_cnt[min_keys] == 2:
return (sorted(alpha)[0] + sorted(alpha)[-1]) * (sorted(alpha)[-1] - sorted(alpha)[0])
else:
return sorted(alpha_cnt, key = lambda x:alpha_cnt[x])[0]* sorted(alpha_cnt , key = lambda x:alpha_cnt[x])[1]
else:
return sorted(alpha)[0]
https://dogsavestheworld.tistory.com/110
#value값을 기준으로 오름차순 정렬한 딕셔너리 생성하기.
# value 값을 기준으로 오름차순 정렬하여 (k, v) 리스트 반환
print(sorted(dic.items(), key=lambda x:x[1]))
-> [ ('c', 1), ('a', 2),('b', 4)]
# 위 값을 딕셔너리로 변환
print(dict(sorted(dic.items(), key=lambda x:x[1])))
-> {'c': 1, 'a': 2, 'b': 4}
# value 값을 기준으로 오름차순 정렬
print(sorted(dic,key=lambda x:dic[x]))
-> ['c', 'a', 'b']
def solution(a, b, c, d):
l = [a,b,c,d]
c = [l.count(x) for x in l]
if max(c) == 4:
return 1111*a
elif max(c) == 3:
return (10*l[c.index(3)]+l[c.index(1)])**2
elif max(c) == 2:
if min(c) == 1:
return eval('*'.join([str(l[i]) for i, x in enumerate(c) if x == 1]))
else:
return (max(l) + min(l)) * abs(max(l) - min(l))
else:
return min(l)
dictionary = {'a' : 2, 'b' : 4, 'c' : 1}
max_key = max(dictionary, key = dictionay.get)
print(max_key)
-> b