[백준] 2166번 다각형의 면적 - python 파이썬

2024. 11. 27. 16:11·코딩테스트/백준

문제

 

 

 

이 문제를 보았을 때 딱히 어떤 알고리즘을 사용해야겠다는 생각은 안들고 단순 구현인 것 같았다.

 

 

이 문제는 다각형의 넓이를 구하는 공식을 이용해서 풀어주면 되는데 이 공식을 모른다면 풀기가 까다로운 문제인 것 같다...(구글링 해보고 알게됨)

 

 

공식 참고 : https://darkpgmr.tistory.com/86

 

다각형 도형의 면적(넓이) 구하기

프로그래밍 등을 할 때 알아두면 유용한 다각형의 면적 구하는 방법입니다.(오랜만에 수학관련 포스팅을 합니다 ^^) 1. 2차원 평면에서 세 점의 좌표를 알 때 삼각형 면적 구하기 세 점의 좌표를 (

darkpgmr.tistory.com

 

 

이 내용을 참고하면 다각형의 넓이를 구하는 공식은

 

 

 

이렇게 된다는 것을 알 수 있다.

 

 

이를 코드로 구현하면

 

 

n = int(input())
polygon = []
for _ in range(n):
    x,y = map(int, input().split())
    polygon.append([x,y])

ans = 0
#마지막에 n과 1번째 곱하고 빼므로 마지막에 첫번째 것 추가
polygon.append(polygon[0])

for i in range(n):
    ans += polygon[i][0]* polygon[i+1][1] - polygon[i+1][0]*polygon[i][1]

print(abs(ans)/2)

 

 

이렇게 된다

 

마지막에는 n번째 꼭짓점과 첫번째 꼭짓점의 x,y 좌표값을 곱하고 빼므로 마지막 부분에 미리 첫번째 좌표의 값을 더 넣어주고 시작해주었다.

 

구현을 하는게 어렵다기 보단 공식을 알지 못하면 풀기 힘든 문제였다.

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 1038 감소하는 수 - python 파이썬  (0) 2024.12.10
[백준] 14179번 빗물 - python 파이썬  (1) 2024.11.27
[백준] 9205번 맥주마시면서 걸어가기 - python 파이썬  (2) 2024.11.20
[백준] 10799번 쇠막대기 - python 파이썬  (0) 2024.10.31
[백준]2467번 용액 - python파이썬  (2) 2024.10.23
'코딩테스트/백준' 카테고리의 다른 글
  • [백준] 1038 감소하는 수 - python 파이썬
  • [백준] 14179번 빗물 - python 파이썬
  • [백준] 9205번 맥주마시면서 걸어가기 - python 파이썬
  • [백준] 10799번 쇠막대기 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다익스트라
    IT기획
    깃허브
    코테
    spring
    K디지털트레이닝
    백준
    UnionFind
    백트래킹
    bastion host
    프로그래머스
    투포인터
    신한투자증권
    Java
    github
    EC2
    BFS
    MSA
    프디아
    프로디지털아카데미
    kdt교육
    AWS
    알파코캠퍼스
    파이썬
    알고리즘
    알파코
    백엔드
    코딩테스트
    그리디
    python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[백준] 2166번 다각형의 면적 - python 파이썬
상단으로

티스토리툴바