코딩테스트/프로그래머스

직사각형 넓이 구하기 (c++)

shin0112 2024. 1. 20. 06:00

입력 : vector<vector<int>> dots

sol

1. 직사각형 넓이 = (가로) × (세로)

  • 조건1) 변이 축과 평행
  • 점과 점 사이의 거리를 구하는 공식에 적용하면, 둘 중 하나는 0이 나오므로 x좌표끼리만 빼거나 y좌표끼리만 빼도 괜찮음

2. 꼭짓점의 좌표가 시계방향으로 도는지 반시계방향으로 도는지 확인 (왼쪽 위가 첫번째 점이라고 가정)

  • 시계방향으로 도는 경우 → dots[0]와 dots[1]의 y 좌표는 같고, x 좌표만 다름
  • 반시계방향으로 도는 경우 → dots[0]와 dots[1]의 x좌표는 같고, y좌표만 다름
  • 각 조건에 따라서 가로와 세로의 길이를 다르게 설정

3. (가로) × (세로) 해서 절댓값으로 변경

 

shin0112/programmers_cpp: programmers' coding test solutions (github.com)

출처 : 프로그래머스 코딩 테스트 연습 - 직사각형 넓이 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/120860