목차
1. 문제 소개
2. 사전지식 01
3. 사전지식 02
4. 사전지식 03
5. 내풀이, 다른풀이
1. 문제 소개
문제 사이트 : https://school.programmers.co.kr/learn/courses/30/lessons/120860
2. 사전지식01
파이썬에서 리스트의 요소들을
서로 교환(스왑)하고 싶을 때에는
list[i], list[j] = list[j], list[i]를 사용할 수 있다.
3개도 가능하고, 4개도 가능하다 !
참고 했던 자료 : (https://growingarchive.tistory.com/146)
3. 사전지식02
2차원(x좌표와, y좌표) 리스트에서,
x 좌표에 대한 관점과 y좌표에 대한 관점을
따로따로 나누어서 보자.
(->가로길이, 세로길이 따로 구해야하니까)
4. 사전지식03
sort() , sorted()를 통해서,
가장 큰 숫자와 가장 작은 숫자를
쉽게 꺼내서 사용할 수 있다.
xtuple.sort()
width = xtuple[0] - xtuple[3]
여기서 sort 함수와, sorted함수에 대한 설명은 ,아래에서 확인해주세요!
https://codinglevelup.tistory.com/85
4. 내 풀이& 다른풀이
def solution(dots):
xtuple = [dots[0][0],dots[1][0],dots[2][0],dots[3][0]]
xtuple.sort()
ytuple = [dots[0][1],dots[1][1],dots[2][1],dots[3][1]]
ytuple.sort()
width = xtuple[0] - xtuple[3]
length = ytuple[0] - ytuple[3]
answer = width * length
return answer
나의 풀이
def solution(dots):
x = []
for i in dots:
x.append(i[0])
y = []
for i in dots:
y.append(i[1])
answer = (max(x) - min(x))*(max(y) - min(y))
return answer
다른 풀이(서지인님 풀이)
Review
이 문제에서 array가 4개의 점을 좌표로 나타낸,
array의 length가 4인
짧은 리스트라 나의 풀이가 괜찮았지만
만약 array가 좀 더 많아지고 복잡해지면,
for i in array 를 이용해서,
x값 따로, y값 따로 추가하는 것이
더 깔끔하고 보기 좋을 것 같았다.
'코딩테스트' 카테고리의 다른 글
[PCCP 기출문제] 1번, 붕대감기 게임 (2) | 2023.11.29 |
---|---|
[2021 카카오 채용연계형 인턴십 1단계][숫자 문자열과 영단어] (2) | 2023.11.29 |
[코딩테스트] 알파벳 찾기(아스키코드) (0) | 2023.07.31 |
[Coding Test04] n 이하의 소수 찾기. 소수 개수 찾기 (0) | 2023.04.22 |
[Coding Test02] 최빈값 문제 풀이 (0) | 2023.04.09 |