ornni 2024. 9. 19. 10:00
728x90
반응형

첫번째 코드

 

원점과의 외적을 통해서 삼각형의 넓이를 구하는 방법을 이용하여 다각형의 넓이를 구하는 것이 참신했다.

의외였던 것은 2개의 점을 이용하여 구하는 방식으로 넓이가 알아서 더하고 빼지는...우오어

마지막에 양수로만 만들면 되는!! 신기했다!!

고등학생때도 이런 방법을 쓴 적이 있었던 것 같은뎅...

 

책의 방법을 참고하여 코드를 작성하고

책을 참고하여 일부 수정하였다.

 

import sys
input = sys.stdin.readline

n = int(input())
x_list = []
y_list = []
answer = 0

for _ in range(n):
    x, y = map(int, input().split())
    x_list.append(x)
    y_list.append(y)

x_list.append(x_list[0])
y_list.append(y_list[0])

for i in range(n):
    answer += (x_list[i] * y_list[i+1] - x_list[i+1] * y_list[i])

print(round(abs(answer / 2), 1))

 

통과


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Gold/2166.%E2%80%85%EB%8B%A4%EA%B0%81%ED%98%95%EC%9D%98%E2%80%85%EB%A9%B4%EC%A0%81

 

programmers/백준/Gold/2166. 다각형의 면적 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형