-
[Java 자바] 프로그래머스 Lv 0 - 직사각형 넓이 구하기Study/Java 2024. 11. 27. 12:31728x90반응형
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
목차
1. 문제 설명
728x90문제 설명
2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다.
직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때,
직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.제한사항
- dots의 길이 = 4
- dots의 원소의 길이 = 2
- -256 < dots[i]의 원소 < 256
- 잘못된 입력은 주어지지 않습니다.
2. 입출력 예시
입출력 예시
#1
좌표 [[1, 1], [2, 1], [2, 2], [1, 2]] 를 꼭짓점으로 갖는 직사각형의 가로, 세로 길이는 각각 1, 1이므로 직사각형의 넓이는 1 x 1 = 1입니다.
#2
좌표 [[-1, -1], [1, 1], [1, -1], [-1, 1]]를 꼭짓점으로 갖는 직사각형의 가로, 세로 길이는 각각 2, 2이므로 직사각형의 넓이는 2 x 2 = 4입니다.
3. 문제 풀이
반응형문제 풀이
1. 직사각형의 가로 길이를 구하기 위해 maxX와 minX를 만든다.
2. 직사각형의 세로 길이를 구하기 위해 maxY와 minY를 만든다.
3. 반복문을 사용하여 가장 큰 x좌표, 가장 작은 x좌표, 가장 큰 y좌표, 가장 작은 y좌표를 구한다.
4. 가로길이(maxX-minX)와 세로길이(maxY-minY)를 곱해 넓이를 구한다.
class Solution { public int solution(int[][] dots) { int maxX = dots[0][0]; int minX = dots[0][0]; int maxY = dots[0][1]; int minY = dots[0][1]; for(int i=0; i<dots.length; i++){ maxX = Math.max(maxX,dots[i][0]); minX = Math.min(minX,dots[i][0]); maxY = Math.max(maxY,dots[i][1]); minY = Math.min(minY,dots[i][1]); } return (maxX-minX) * (maxY-minY); } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 최댓값 만들기 (2) (1) 2024.11.29 [Java 자바] 프로그래머스 Lv 0 - 캐릭터의 좌표 (0) 2024.11.28 [Java 자바] 프로그래머스 Lv 0 - 중복된 숫자 개수 (0) 2024.11.26 [Java 자바] 프로그래머스 Lv 0 - 잘라서 배열로 저장하기 (0) 2024.11.25 [Java 자바] 프로그래머스 Lv 0 - 머쓱이보다 키 큰 사람 (0) 2024.11.24