코딩 테스트/프로그래머스

Lv0. 주사위 게임 3

  • -
728x90
반응형

문제 보기 :  주사위 게임 3

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


문제

  • 정답률 : 60%


작성 코드

def solution(a, b, c, d):
    answer = 0
    dic = {} ; ls = [a,b,c,d]
    for i in ls:
        if i not in dic:
            dic[i]=1
        else:
            dic[i]+=1
    
    dicc = list(dic.items())
    dicc.sort(key=lambda x:-x[1])
    # return dicc
    if len(dic) == 4:
        answer = min(ls)
    elif len(dic) == 1:
        answer = 1111 * a
    elif len(dic)==2:
        if dicc[0][1] == 3:
            answer = (10*dicc[0][0] + dicc[1][0])**2
        elif dicc[0][1] == 2:
            answer = (dicc[0][0]+dicc[1][0])*abs(dicc[0][0]-dicc[1][0])
    elif len(dic)==3:
        answer = dicc[1][0]*dicc[2][0]        
        
    return answer

풀이

내가 개인적으로 애정,, 하는 딕셔너리로 풀었다.
리스트로 먼저 [a,b,c,d]를 만들고 딕셔너리로 변경한 뒤,
딕셔너리 내 items 쌍을 이용해 items 리스트 길이에 따라 if문으로 분리해 풀이했다.

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv2. 땅따먹기  (0) 2024.08.31
Lv2. 주식가격  (0) 2024.08.30
Lv2. 방문 길이  (2) 2024.08.28
Lv2. 스킬트리  (0) 2024.08.26
Lv1. [1차] 다트 게임  (0) 2024.08.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.