개발계발
프로그래머스 - 주사위 게임3(181916) 본문
문제 설명
제한사항
접근방식
- 딕셔너리를 이용해서 각 주사위의 숫자와 등장한 횟수를 기록
- 등장한 횟수를 정렬해서 경우의 수를 나눠서 풀이
풀이 코드
def solution(a, b, c, d):
answer = 0
dice_dic = {}
for i in range(1, 7):
dice_dic[i] = 0
dice_dic[a] += 1
dice_dic[b] += 1
dice_dic[c] += 1
dice_dic[d] += 1
sorted_dice = sorted(dice_dic.items(), key = lambda x : x[1], reverse = True)
print(sorted_dice)
if sorted_dice[0][1] == 4:
answer += 1111 * sorted_dice[0][0]
elif sorted_dice[0][1] == 3:
answer += ((10 * sorted_dice[0][0]) + sorted_dice[1][0]) ** 2
elif sorted_dice[0][1] == 2:
if sorted_dice[1][1] == 2:
answer += (sorted_dice[0][0] + sorted_dice[1][0]) * abs(sorted_dice[0][0] - sorted_dice[1][0])
else:
answer += sorted_dice[1][0] * sorted_dice[2][0]
else:
answer += sorted_dice[0][0]
return answer
'알고리즘' 카테고리의 다른 글
프로그래머스 - 옹알이(1) (120956) (2) | 2024.04.23 |
---|---|
프로그래머스 - 겹치는 선분의 길이(120876) (0) | 2024.04.23 |
프로그래머스 - 안전지대(120866) (0) | 2024.04.23 |
프로그래머스 - 분수의 덧셈(120808) (0) | 2024.04.23 |
프로그래머스 - 다항식 더하기(120863) (0) | 2024.04.23 |