2166번: 다각형의 면적
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
www.acmicpc.net
문제
2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
출력
첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다.
코드
n = int(input())
pos = []
for _ in range(n):
x, y = map(int, input().split())
pos.append((x, y))
pos.append(pos[0])
answer = 0
for i in range(n):
answer += (pos[i][0]*pos[i+1][1] - pos[i][1]*pos[i+1][0])
print(abs(answer/2))
이 문제는 보자마자 좌표로 면적을 구하는 공식이 있겠다 싶어서 찾아보니 역시나 있었다.
그 방법은 다음의 블로그에서 자세한 설명과 함께 확인 가능하다. 문제의 조건에 다각형을 이루는 순서대로 좌표가 주어진다고 했기 때문에 공식을 사용하여 매우 쉽게 풀 수 있었다.
n차원 다각형의 넓이 계산
gaussian37's blog
gaussian37.github.io
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |
---|---|
[Python/파이썬] 백준 20040번 사이클 게임 (0) | 2022.08.30 |
[Python] 백준 11444번 피보나치 수 6 (0) | 2022.07.30 |
[Python/파이썬] 1225번 이상한 곱셈 (0) | 2021.11.28 |
[Python/파이썬] 백준 1015번 수열 정렬 (0) | 2021.11.02 |
2166번: 다각형의 면적
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
www.acmicpc.net
문제
2차원 평면상에 N(3 ≤ N ≤ 10,000)개의 점으로 이루어진 다각형이 있다. 이 다각형의 면적을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
출력
첫째 줄에 면적을 출력한다. 면적을 출력할 때에는 소수점 아래 둘째 자리에서 반올림하여 첫째 자리까지 출력한다.
코드
n = int(input()) pos = [] for _ in range(n): x, y = map(int, input().split()) pos.append((x, y)) pos.append(pos[0]) answer = 0 for i in range(n): answer += (pos[i][0]*pos[i+1][1] - pos[i][1]*pos[i+1][0]) print(abs(answer/2))
이 문제는 보자마자 좌표로 면적을 구하는 공식이 있겠다 싶어서 찾아보니 역시나 있었다.
그 방법은 다음의 블로그에서 자세한 설명과 함께 확인 가능하다. 문제의 조건에 다각형을 이루는 순서대로 좌표가 주어진다고 했기 때문에 공식을 사용하여 매우 쉽게 풀 수 있었다.
n차원 다각형의 넓이 계산
gaussian37's blog
gaussian37.github.io
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 2143번 두 배열의 합 (0) | 2022.09.07 |
---|---|
[Python/파이썬] 백준 20040번 사이클 게임 (0) | 2022.08.30 |
[Python] 백준 11444번 피보나치 수 6 (0) | 2022.07.30 |
[Python/파이썬] 1225번 이상한 곱셈 (0) | 2021.11.28 |
[Python/파이썬] 백준 1015번 수열 정렬 (0) | 2021.11.02 |