Python/알고리즘 문제 풀이

[코테] 점의 위치 구하기

마이구미+ 2023. 3. 31. 09:16

<로직 고민>

# dot[0]과 dot[1]이 음수인지 양수인지 판별하는 조건문 필요
  • 간단.....ㅎ ~
  • 이건 맞추는 것보다 다른 사람 풀이를 봐서 시야?를 넓혀야 할 듯 난 지금 한 가지밖에 생각이 안 나니까
  • 그것은 바로....!! 아래 코드 참조

<완성한 코드>

def solution(dot):
    answer = 0
    if dot[0] >= 0 and dot[1] >= 0:
        answer = 1
    elif dot[0] < 0 and dot[1] >= 0:
        answer = 2
    elif dot[0] < 0 and dot[1] < 0:
        answer = 3
    else:
        answer = 4
    return answer


dot1 = [2, 4]
dot2 = [-7, 9]

print(solution(dot1))
print(solution(dot2))

# 출력화면
# 1
# 2
  • ㅎㅎ,, 단순 그 자체
  • 수학적인 사고를 하려면 아직 멀었다

<다른 사람 풀이>

 

def solution(dot):
    quad = [(3,2),(4,1)]
    return quad[dot[0] > 0][dot[1] > 0]

- 천재풀이2

def solution(dot):
    a, b = 1, 0
    if dot[0]*dot[1] > 0:
        b = 1
    if dot[1] < 0:
        a = 2
    return 2*a-b
  • 이것도 수학적인 풀이라는데.......뚀륵.....

- 천재풀이3

def solution(dot):
    if dot[0] > 0:
        if dot[1] > 0:
            return 1
        return 4
    else:
        if dot[1] > 0:
            return 2
        return 3
  • 처음에 이런 식으로 풀려고 했는데 이 앞에 for문을 넣었더니 엇..어ㅇ라.. 어케 하지....싶어가지고 백스텝하고 정직하게 직관적으로 풀었음,,,ㅎㅎㅎㅎ,,,,,