Algorithm/프로그래머스

[기초/파이썬] 프로그래머스 - 주사위 게임 2

제티맛초코 2024. 12. 22. 07:33

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

https://stackoverflow.com/questions/58395948/why-a-b-c-is-not-equal-to-a-b-and-a-c-and-b-c

 

Why a != b != c is not equal to a != b and a != c and b != c?

I want to check if 3 values a, b , c are not equal to each other. Given that a == b == c equals to a == b and b == c and a == c, why does python give a different answer for a != b != c ? Thanks! ...

stackoverflow.com