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
'Programmers' 카테고리의 다른 글
10진수를 2진수로 바꾸기 bin() 사용. rjust 문자열 정렬 사용하기. (0) | 2024.01.24 |
---|---|
딕셔너리로 알파벳 생성하기, key와 value 위치 바꾸기. 모든 key, value값 가져오기 (1) | 2024.01.23 |
[프로그래머스]유클리드 알고리즘으로 최대공약수 구하기. feat 재귀 (0) | 2024.01.22 |
[프로그래머스]정수를 나선형으로 배치하기 feat 2차원 배열 선언하여 풀기 (0) | 2024.01.22 |
Dictionary 내부에서 value가 가장 큰 것 찾기! (0) | 2024.01.22 |