https://school.programmers.co.kr/learn/courses/30/lessons/120860
문제
2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.
제한사항
dots의 길이 = 4
dots의 원소의 길이 = 2
-256 < dots[i]의 원소 < 256
잘못된 입력은 주어지지 않습니다.
풀이
import kotlin.math.abs
class Solution {
fun solution(dots: Array<IntArray>): Int {
for (i in 1..3) {
if (dots[i][0] != dots[0][0] && dots[i][1] != dots[0][1]) {
return abs(dots[i][0] - dots[0][0]) * abs(dots[i][1] - dots[0][1])
}
}
return 0
}
}
- 4개의 좌표를 탐색하면서 이직각 사각형의 넓이를 구하는 방법은 직사각형의 꼭지점중 하나와 다른 꼭지점중 각좌표가 모두 다른 곳을 찾아야합니다. 그좌표의 경우 기준으로잡은 좌표와는 정반대의 좌표이기 때문에 구하는것입니다. 이제 다른 좌표를 구했다면 x좌표끼리 빼준값의 절댓값과 y좌표끼리 빼준값의 절댓값을 곱해줘 넓이를 반환해주면 끝입니다.
결과
'코틀린 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] - 로그인 성공? (Kotlin) (0) | 2023.07.28 |
---|---|
[프로그래머스] - 연속된 수의 합 (Kotlin) (0) | 2023.07.28 |
[프로그래머스] - 이진수 더하기 (Kotlin) (0) | 2023.07.28 |
[프로그래머스] - 머쓱이보다 키 큰 사람 (Kotlin) (0) | 2023.07.28 |
[프로그래머스] - 문자열 정렬하기 (2) (Kotlin) (0) | 2023.07.27 |