05의 개발 계발

[알고리즘] 230419 점의 위치 구하기 | if , 삼항연산자 , bool type 본문

알고리즘

[알고리즘] 230419 점의 위치 구하기 | if , 삼항연산자 , bool type

생각하는 코댕이 2023. 4. 19. 06:51
728x90

점의 위치 구하기


내 코드

# 즉석코드
def solution(dot):
    x,y=dot[0],dot[1]
    if x>0 and y>0:
        answer = 1
    elif x<0 and y>0:
        answer = 2
    elif x<0 and y<0:
        answer = 3
    else : 
        answer = 4

    return answer
    
# 리팩토링
def solution(dot):
    x,y=dot[0],dot[1]
    if x*y>0: answer = 1 if x>0 else 3
    elif x*y<0: answer = 2 if x<0 else 4
    
    return answer

굳이 저렇게 리팩토링한게 의미가 있나 싶다...하핳...


흠터레스팅 코드

# bool type의 Ture=1 False=0 임을 이용한 획기적인 풀이!
def solution(dot):
    quad = [(3,2),(4,1)]
    return quad[dot[0] > 0][dot[1] > 0]

새로 알게된 것

경우에 따라서 bool type의 True =1 False=0 임을 활용하여
list나 dict의 원소를 호출하는 로직을 짤 수 있다는 시야를 얻게 되었다.

 

728x90