고양이와 코딩
[프로그래머스] 직사각형의 넓이 구하기 본문
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한테 질문을 잘~ 하는것도 능력이 아닐까? ㅎㅎ!!!!
'python' 카테고리의 다른 글
[프로그래머스] 외계어 사전.py (0) | 2023.07.27 |
---|---|
[프로그래머스] 정수 부분.py (0) | 2023.06.24 |
[프로그래머스] 문자열 계산하기 (0) | 2023.04.29 |
[프로그래머스] 인덱스 바꾸기.py (0) | 2023.04.20 |
[프로그래머스] 3 6 9 게임 (0) | 2023.04.18 |