링크






문제 요약: 좌표를 따라가면서 방향 찾기 

문제 해결 키워드: 벡터를 사용해보기 



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
p_list=[]
#입력하기
forin range(3):
    p_list.append(list(map(int, input().split())))
 
#풀이과정 함수 
def solution(p_list):
    x1,y1=p_list[0]
    x2,y2=p_list[1]
    x3,y3=p_list[2]
    #외적 
    vector_outer_product=(x1*y2+x2*y3+x3*y1)-(x2*y1+x3*y2+x1*y3)
    if vector_outer_product<0:
        return -1
    elif vector_outer_product>0:
        return 1
    else:
        return 0
print(solution(p_list))
cs


번외: numpy 사용해보기

프로그래머스 에서는 파이썬에서 numpy 로 풀어본적이 있어서 한번 풀어봄


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
vector_a=[]
vector_b=[]
for i in range(3):
    a,b=map(int, input().split())
    vector_a.append(a)
    vector_b.append(b)
    
def f(vector_a,vector_b):
    vector_outer=np.cross(vector_a,vector_b)
    #외적의 합 
    vector_outer=sum(list(vector_outer))
    if vector_outer>0:
        return 1
    elif vector_outer<0:
        return -1
    else:
        return 0
print(f(vector_a,vector_b))
cs

넘파이로 풀어본 출력화면