python 알고리즘 기초다지기 (5)

윤재환·2024년 12월 28일

def solution(a, b, c):
    answer = 0
    if a == b and a == c:
        answer += (a+b+c)*((a**2)+(b**2)+(c**2))*((a**3)+(b**3)+(c**3))
        print(answer)
        return answer
    elif a == b or b == c or a == c:
        answer += (a+b+c) * ((a**2)+(b**2)+(c**2))
        print(answer)
        return answer
    elif a != b and a != c and b != c:
        answer += a+b+c
        print(answer)
        
    return answer

해당 알고리즘도 크게 설명할게 없이 if 문으로 작성했습니다

다른사람 풀이

def solution(a, b, c):
    check=len(set([a,b,c]))
    if check==1:
        return 3*a*3*(a**2)*3*(a**3)
    elif check==2:
        return (a+b+c)*(a**2+b**2+c**2)
    else:
        return (a+b+c)
        

해당 풀이는 set함수를 이용해서 작성했습니다.
set함수는 중복을 제거한 고유 원소 집합을 생성합니다.
len은 고유 원소의 개수를 계산합니다
맨처음 check변수를 만들어 안에 중복을 제거한 고유원소의 개수를 넣고
if문으로 해당 중복의 수만큼 계산식을 넣습니다.
마지막 모두 같을때는 따로 if문을 안쓰고 else문으로 값을 넣습니다.

profile
백엔드 개발에 관심있는 1인

0개의 댓글