[Python] 프로그래머스 - Weekly Challenge 8주차
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/86491
1. 두개의 명함을 비교할때 나올 수 있는 케이스는 2가지 밖에 없다.
A B A B
C D 와 D C 두가지밖에 없다. 첫번째에서 A B를 뒤집으면 두번째 케이스와 같아지기 때문이다.
2. 결국 이 두가지 케이스를 a, b에 넣어주고 a의 명함넓이가 b 명함넓이보다 작으면
answer = a, 반대면 answer = b를 해주면서 answer값을 계속 갱신해준다.
3. 마지막에 answer[0] * answer[1]로 넓이를 return해준다.
def solution(sizes):
answer = [sizes[0][0], sizes[0][1]]
for s in sizes[1:]:
a = [max(s[0], answer[0]), max(s[1], answer[1])]
b = [max(s[0], answer[1]), max(s[1], answer[0])]
if a[0] * a[1] < b[0] * b[1]:
answer = a
else:
answer = b
return answer[0] * answer[1]
728x90
반응형
'문제풀이 > Programmers' 카테고리의 다른 글
[Python] 프로그래머스 - Weekly Challenge 6주차 (0) | 2021.09.06 |
---|---|
[Python] 프로그래머스 - 메뉴 리뉴얼 (0) | 2021.09.03 |
[Python] 프로그래머스 - Weekly Challenge 5주차 (0) | 2021.08.31 |
[Python] 프로그래머스 - 합승 택시 요금 (0) | 2021.08.30 |
[Python] 프로그래머스 - Weekly Challenge 4주차 (0) | 2021.08.28 |
TAGS.