고양이와 코딩

[프로그래머스] 직사각형의 넓이 구하기 본문

python

[프로그래머스] 직사각형의 넓이 구하기

ovovvvvv 2023. 5. 22. 21:40
728x90

문제

 

코드(틀린)

def solution(dots):
    x = abs(dots[0][0] - dots[1][0])
    y = abs(dots[0][1] - dots[1][1])
    
    answer = x * y
    
    return answer

당연히 이렇게 하면 배열 값 달라지는거에 따라서 수많은 테스트케이스 오류가 난다는것을 알지만,,,

어떤식으로 코드를 짜야할지, 각각의 배열 요소를 순회하면서 양수인지 음수인지를 파악해야하는지 ㄴㅇㄱ

그래서!! 종이에 평면좌표 그려서 하나하나 해보면서...

 

 

코드(맞은 ^^)

def solution(dots):
    x = [dot[0] for dot in dots]
    y = [dot[1] for dot in dots]
    
    x_min = min(x)
    x_max = max(x)
    y_min = min(y)
    y_max = max(y)
    
    x_length = x_max - x_min
    y_length = y_max - y_min
    
    answer = x_length * y_length
    return answer

x = [dot[0] for dot in dots]

y = [dot[1] for dot in dots]

는  배열 안의 x좌표 값, y좌표 값을 돌면서 읽는 코드이다!

x_min, max 어쩌구는 위에서 돌던 좌표 중 가장 작은 값, 큰 값을 저장한다.

 

그 다음 가로변, 세로변을 구하고 곱해주면 끝 !! ㅎㅎ

확실히 종이에 적어보고, 그려보고.. (그리고 gpt한테 질문하고..)

머리에서 정리가 안될 땐 이렇게 하는게 큰 도움이 되는 것 같다 ㅎㅎ

gpt한테 질문을 잘~ 하는것도 능력이 아닐까? ㅎㅎ!!!!