교대최소제곱법
[백준 파이썬 2166번 다각형의 면적] 개발자가 수학을 잘해야하는 이유 본문
2166번: 다각형의 면적
첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.
www.acmicpc.net
이 문제를 읽자마자 '어 그거다'라는 생각은 들었지만 기억력 이슈로 인해 푸는데 한참 걸렸다...
좌표로 다각형의 면적을 구한다?
처음에는 헤론의 공식을 생각했지만 그건 좌표가 아니라 선분의 길이를 활용한다는 것을 떠올렸고
대신 고등학교 시절 머리 속에 저장해둔 한 공식을 꺼내왔다

React, Spring 하는데 왜 수학을 잘해야 해요?
음 사실 이 포스팅을 쓰는 이유는 이 문제가 엄청 의미있거나 어려운 문제여서는 아니다
그냥 이 문제를 풀면서 개발자에게 수학이란 무엇일까? 라는 생각이 들었다
크래프톤 정글을 하면서 옆 자리 팀이 도형을 그리는 프로젝트를 하는 것을 보았는데 기술적 챌린지를 찾지 못해 힘들어하는 것을 본 적이 있다
위의 공식으로 웹 상의 x, y좌표를 활용해 도형의 크기 구해 기능에 활용했다면 좋은 챌린지가 나오지 않았을까?
그냥 갑자기 생각났다
수학이 중요한 이유는 수학이 기본이기 때문이기도 하지만
새로운 아이디어를 떠올리기 위해서는 모티브가 필요한데 그것이 수학이 아닐까 생각한다
알고리즘도 그런 의미로 중요한 것이 아닐까
참고자료
Area of a polygon algorithm - Math Open Reference
If you know the coordinates of the vertices of a polygon, this algorithm can be used to find the area. The algorithm assumes the usual mathematical convention that positive y points upwards. In computer systems where positive y is downwards (most of them)
www.mathopenref.com
'코딩테스트' 카테고리의 다른 글
[백준 파이썬 2098번 외판원 순회] 비트마스킹이란 무엇인가? (0) | 2024.02.28 |
---|---|
[백준 파이썬 2110번 공유기 설치] 이진 탐색의 활용 (0) | 2023.11.21 |
[백준 파이썬 9252번 LCS2] DP에 문자열을 넣어서 드셔보세요 (0) | 2023.11.07 |
[백준 파이썬 11049번 행렬 곱셈 순서] DP란 벽... (0) | 2023.10.26 |
[백준 파이썬 1948번 임계경로] 위상정렬 응용과 역추적의 활용 (1) | 2023.10.25 |