programmers- lv.1 (최소직사각형)

이예송·2023년 7월 10일

PS

목록 보기
15/97

문제링크: 최소직사각형

✍🏻 Information

content
언어python
난이도⭐️
풀이시간10분
제출횟수1
인터넷검색유무yes




🍒 My Code

def solution(sizes):
    MAX = max(map(max,sizes))
    x, y = 0,0
    for i in range(len(sizes)):
        for j in range(len(sizes[i])):
            if sizes[i][j]==MAX:
                x=i
                y=j
    
    SECOND = sizes[x][1-y]
    for i in range(len(sizes)):
        if min(sizes[i])>SECOND:
            SECOND = min(sizes[i])
                        
    return MAX*SECOND




💡 What I learned

  • 2차원 list에서 max값 찾기:
: MAX = max(map(max,list_name))
  • 다른 사람들 풀이를 보니 너무 시간효율도 안좋고 코드도 조잡하게 짰다는 생각이 들었다.

<풀이1>

def solution(sizes):
    sizes = [sorted(s) for s in sizes]
    return max([x[0] for x in sizes]) * max([x[1] for x in sizes])

<풀이2>

def solution(sizes):
    return max(max(x) for x in sizes) * max(min(x) for x in sizes)

-> 풀이2는 직관적으로는 이해가 됐는데 max(x) for x in sizes가 generator type인데 뭔지 정확히는 모르겠다

0개의 댓글