
Solution 1) 내 풀이
class Solution {
public int solution(int[][] dots) {
int x = 0;
int y = 0;
for (int i = 1; i < dots.length; i++) {
int tmpX = dots[0][0];
int tmpY = dots[0][1];
if (tmpX == dots[i][0]) {
x = Math.abs(tmpY - dots[i][1]);
} else if (tmpY == dots[i][1]) {
y = Math.abs(tmpX - dots[i][0]);
}
}
return x * y;
}
}
코드 및 문제 리뷰
int 형 2차원 배열이 주워진다. 이 배열의 length는 4로 각 요소는 사각형의 모서리의 좌표가 된다.
좌표로 사각형을 그려봤을 때 나오는 사각형의 넓이를 반환하는 문제이다.
예시좌표 [[2, 1], [4, 1], [2, 4], [4, 4]] 로 봤을 때 결국 [0, 1] 0은 x의 위치, 1은 y의 위치가 된다.
내가 구현한 로직은 x끼리 같은 요소중 y의 차이를 y의 값으로, y끼리 같은 요소중 x의 차이를 x의 값으로 둔다.
x의 값 2끼리 같으니 Math.abs(1 - 4) 해서 y의 값이 3
y의 값 1끼리 같으니 Math.abs(2 - 4) 해서 x의 값이 2
둘의 값을 곱한 값이 구하려는 사각형의 넓이가 된다.
'연습문제 > 프로그래머스, 입문' 카테고리의 다른 글
| [프로그래머스 입문_java] 저주의 숫자 3 (0) | 2023.11.07 |
|---|---|
| [프로그래머스 입문_java] 숨어있는 숫자의 덧셈(2) (0) | 2023.11.06 |
| [프로그래머스 입문_java] 잘라서 배열로 저장하기 (0) | 2023.11.04 |
| [프로그래머스 입문_java] 7의 개수 (1) | 2023.11.04 |
| [프로그래머스 입문_java] 문자열 계산하기 (0) | 2023.10.31 |