프로그래머스 코딩테스트 위클리 챌린지의 문제입니다.
https://programmers.co.kr/learn/challenges?tab=weekly_challenges
문제
https://programmers.co.kr/learn/courses/30/lessons/86491
내가 작성한 코드
def solution(sizes):
mx, mn = [], []
for a, b in sizes:
mx.append(max(a, b))
mn.append(min(a, b))
return max(mx) * max(mn)
- 문제접근방식
- 명함들의 가로길이와 세로길이 중 더 큰 길이끼리, 더 작은 길이끼리 비교
- 명함1이 가로 80, 세로 70, 명함2가 가로 50, 세로 90이면 mx = [80, 90], mn = [70, 50] - 더 큰 길이 중 최대값, 더 작은 길이 중 최대값의 곱을 반환
- 명함들의 가로길이와 세로길이 중 더 큰 길이끼리, 더 작은 길이끼리 비교
다른 사람이 작성한 코드
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
- 코드가 깔끔하다
- 아쉬운 점은 sizes를 2번 탐색
기억해야할 것
- 처음에 파라메트릭 서치가 떠올랐다가, 더 간단할 것 같아서 고민을 더 했다
'코딩테스트' 카테고리의 다른 글
[백준][구현] 치킨 배달 (0) | 2022.02.08 |
---|---|
[백준][누적합] 문자열 폭발 (0) | 2022.01.29 |
[프로그래머스][KAKAO_인턴][2019] 징검다리 건너기 (0) | 2021.09.08 |
[프로그래머스][KAKAO_인턴][2019] 호텔 방 배정 (0) | 2021.09.08 |
[프로그래머스][KAKAO_인턴][2019] 불량 사용자 (0) | 2021.09.08 |