https://school.programmers.co.kr/learn/courses/30/lessons/181930
내 코드
def solution(a, b, c):
answer = a+b+c
if a==b==c:
answer = answer*(a**2+b**2+c**2)*(a**3+b**3+c**3)
elif a!=b!=c!=a:
pass
else:
answer = answer*(a**2+b**2+c**2)
return answer
더보기
풀이과정
# (a+b+c)라는 연산이 반복되므로 return 값으로 받을 answer를 (a+b+c)로 설정했다. => elif 문에서는 answer값을 바꿀 필요가 없기에 pass 처리했다
# (a**b)는 a의 b제곱
다른 사람 코드
#
깨달은 점
[질문하기] 탭을 참고하다보니
if a != b != c:
라는 코드가 a, b, c가 모두 다르다는 것을 정확하게 보장할 수 없다는 것을 알게 되었다.
a!=b 그리고 b!=c는 보장하는데 a!=c는 확실하지 않다는 것이다
그래서 세 수가 모두 다르다는 것을 확실하게 설정하려면
if a != b != c != a :
이렇게 끝에 맨 처음 수와 다르다는 !=a 를 추가해줘야 한다
아래는 참고할 만한 글들 (관련 개념에 대한 답변)
https://school.programmers.co.kr/questions/75041
https://stackoverflow.com/questions/58395948/why-a-b-c-is-not-equal-to-a-b-and-a-c-and-b-c
'Algorithm > 프로그래머스' 카테고리의 다른 글
[기초/파이썬] 프로그래머스 - 접미사 배열 (0) | 2024.12.24 |
---|---|
🔍 [Lv.1/파이썬] K번째수 (0) | 2024.12.03 |
[Lv.1/파이썬] 프로그래머스 - 정수 제곱근 판별 (0) | 2024.07.04 |
[코딩테스트 예시] 나머지 한 점 (1) | 2023.10.06 |