[[0], [[1, 2], [3, 4]], [[5, 6, 7], [8, 9, 10], [11, 12, 13]]] 리스트에서 최대값을 구하고 싶습니다.

조회수 528회

안녕하세요. 제목처럼 [[0], [[1, 2], [3, 4]], [[5, 6, 7], [8, 9, 10], [11, 12, 13]]]로 구성된 리스트에서 최대값을 구하고 싶은데 접근 방법을 도저히 몰라 질문드립니다.

리스트 안에 1*1, 2*2, 3*3... n*n꼴 행렬로 구성된 리스트안에서 최대값을 구하고 싶은데 코드를 어떻게 짜야 할지 궁금합니다. 나열된 리스트끼리 형태가 같으면 좋을텐데 구글링을 해봐도 답이 나오지 않아 질문드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 참고하세요

    def deepflatten(iterable, depth=None, types=None, ignore=None):
        if depth is None:
            depth = float('inf')
        if depth == -1:
            yield iterable
        else:
            for x in iterable:
                if ignore is not None and isinstance(x, ignore):
                    yield x
                if types is None:
                    try:
                        iter(x)
                    except TypeError:
                        yield x
                    else:
                        yield from deepflatten(x, depth - 1, types, ignore)
                elif not isinstance(x, types):
                    yield x
                else:
                    yield from deepflatten(x, depth - 1, types, ignore)
    
    L = [[0], [[1, 2], [3, 4]], [[5, 6, 7], [8, 9, 10], [11, 12, 13]]]
    max(list(deepflatten(L)))
    13
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)