자료구조&알고리즘/프로그래머스

[Programmers] 직사각형 넓이 구하기 (PYTHON, JAVA)

고쩡이 2024. 3. 31. 16:01

https://school.programmers.co.kr/learn/courses/30/lessons/120860?language=python3

Algorithm

Idea

축과 평행하므로 가장 큰 각 x,y좌표에서 평행한 작은좌표를 빼준다.


Python

def solution(dots):
    return (max(dots)[0] - min(dots)[0])*(max(dots)[1] - min(dots)[1])

Java

class Solution {
    public int solution(int[][] dots) {
    int answer = 0;
    int tmp = dots[0][0];
    int w = 0;
    int h = 0;
    for(int i = 1; i < dots.length; i++){
        if(dots[i][0]==tmp){ // 같은 x선상 위치
            w = Math.abs(dots[i][1] - dots[0][1]);
        }else{ // 같은 y선상 위치
            h = Math.abs(dots[i][0] - dots[0][0]);
        }
    }
    return w*h;
    }
}