티스토리 뷰

 

<내가 쓴 오답 코드 1>

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

 

바보같이 등호를 "=="으로 써야하는데 "="으로 썼다...역시 아직 기초가 부족한 것 같다...

 

<내가 쓴 오답 코드 2>

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

 

if조건이 잘못 됐다고 한다...

 

1. 조건문 순서:

조건문의 순서가 잘못되어 있습니다. a != b != c는 올바른 조건으로 세 값이 모두 다를 때를 확인하는 것이지만, 그 이후의 elif 문은 이미 위의 조건에 해당하지 않을 때 실행됩니다. 이 경우 a와 b, b와 c, a와 c가 다른지 여부를 확인할 수 없습니다. 따라서 이 부분은 수정해야 합니다. (이건 이해 안간다...ㅠㅠ)

2. 이중 비교(!=):

파이썬에서 !=는 이중 비교에 사용할 수 없습니다. 따라서 a != b != c는 적절한 방식으로 동작하지 않습니다. 대신에 a != b and b != c and a != c와 같이 각각의 비교를 따로 수행해야 합니다.

 

따라서...

def solution(a, b, c):
    answer = 0
    if a!=b and b!=c and c!=a:
        answer += a + b + c
    elif a==b!=c or a==c!=b or b==c!=a:
        answer += (a+b+c)*(a**2+b**2+c**2)
    elif a==b==c:
        answer += (a+b+c)*(a**2+b**2+c**2)*(a**3+b**3+c**3)
    return answer
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함