티스토리 뷰
<내가 쓴 오답 코드 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
'Programmers > 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스] 접미사 배열 (0) | 2024.02.13 |
---|---|
[프로그래머스] 수 조작하기 2 (1) | 2024.02.12 |
[프로그래머스] 9로 나눈 나머지 (0) | 2024.02.12 |
[프로그래머스] 콜라츠 수열 만들기 (0) | 2024.02.12 |
[프로그래머스] 배열 만들기 3 (0) | 2024.02.12 |