풀이
def solution(a, b, c):
answer = 0
if a != b and a != c and b != c:
answer = a + b + c
elif a == b == c :
answer = (a + b + c) * (a**2 + b**2 + c**2 ) * (a**3 + b**3 + c**3 )
else :
answer = (a + b + c) * (a**2 + b**2 + c**2 )
return answer
풀이 2
def solution(a, b, c):
answer = a + b + c
if a == b == c :
answer = 27 * a * (a**2) * (a**3) # 값이 동일하므로 a로 치환하여 식 정리
elif a == b or a == c or b == c :
answer = (a + b + c) * (a**2 + b**2 + c**2 )
return answer
풀이 3
def solution(a, b, c):
check = len(set([a,b,c])) # set을 통해 집합을 만들고 중복 허용 특징을 이용해서 len으로 조건 판단
if check == 1:
return 27 * a * (a**2) * (a**3)
elif check == 2:
return (a+b+c)*(a**2+b**2+c**2)
else:
return (a+b+c)
set()
집합을 만들어 주는 함수 자료형
변경 가능한 자료형(리스트, 딕셔너리 등)을 집합으로 변환
중복을 허용하지 않고 순서가 없음 (인덱싱 불가)
# 괄호 안에 리스트 입력
s1 = set([1,2,3])
print(s1)
# result : {1,2,3}
# 문자열 입력
s2 = set("hello")
print(s2)
# result : {'o', 'h', 'l', 'e'}
# set 자료형에 저장된 값을 인덱싱으로 접근하려면 리스트 or 튜플로 변환
s1 = set([1,2,3])
l1 = list(s1)
print(l1) # result : [1,2,3]
print(l1[0]) # result : 1
t1 = tuple(s1)
print(t1) # result : (1,2,3)
print(t1[0]) # result : 1
'프로그래머스' 카테고리의 다른 글
[Python/Lv.0] 등차수열의 특정한 항만 더하기 (2) | 2024.04.20 |
---|---|
[MySQL] 강원도에 위치한 생산공장 목록 출력하기 (0) | 2024.04.05 |
[Python/Lv.0] 코드 처리하기 (0) | 2024.04.05 |
[Python/Lv.0] flag에 따라 다른 값 반환하기 (0) | 2024.04.05 |
[Python/Lv.0] 홀짝에 따라 다른 값 반환하기 (0) | 2024.04.04 |