[알고리즘문제풀기] 직사각형 넓이 구하기

silver's avatar
Jan 27, 2025
[알고리즘문제풀기] 직사각형 넓이 구하기

문제

내가 작성한 정답

class Solution { public int solution(int[][] dots) { int maxX = -256; int minX = 256; int maxY = -256; int minY = 256; for(int i = 0; i < 4; i++){ maxX = Math.max(dots[i][0],maxX); minX = Math.min(dots[i][0],minX); } for(int i= 0; i < 4; i++){ maxY = Math.max(dots[i][1],maxY); minY = Math.min(dots[i][1],minY); } return (maxX-minX)*(maxY-minY); } }

다른 사람들의 정답

class Solution { public int solution(int[][] dots) { int answer = 0; int tmp = dots[0][0]; // 첫 번째 점의 x좌표를 tmp에 저장 int tmp2 = 0; // 세로 길이 int tmp3 = 0; // 가로 길이 for(int i = 1; i < dots.length; i++) { if(dots[i][0] == tmp) { // 현재 점의 x좌표가 첫 번째 점의 x좌표와 같으면 // 세로 길이를 계산 tmp2 = Math.abs(dots[i][1] - dots[0][1]); } else { // x좌표가 다르면 가로 길이를 계산 tmp3 = Math.abs(dots[i][0] - dots[0][0]); } } answer = tmp2 * tmp3; // 넓이 계산 return answer; } }
Share article

silver