[프로그래머스] 최소직사각형-Lv1

PyInsight·2024년 5월 17일

알고리즘 공부

목록 보기
33/42
post-thumbnail

💻첫번째 시도 테스트케이스(O),채점결과 35점

def solution(sizes):
    answer = 0
    avg_0=0
    avg_1=0
    tmp0=0
    tmp1=0
    for i in sizes:
        avg_0+=i[0]
        avg_1+=i[1]
    avg_0=avg_0//len(sizes)
    avg_1=avg_1//len(sizes)
    for i in sizes:
        if i[0]<avg_0:
            i[0],i[1]=i[1],i[0]
    for i in range(len(sizes)):
        if sizes[i][0]>tmp0:
            tmp0=sizes[i][0]
        if sizes[i][1]>tmp1:
            tmp1=sizes[i][1]
    answer=tmp0*tmp1
    return answer

💻두번째 시도 테스트케이스(O),채점결과 100점

def solution(sizes):
    answer = 0
    tmp0=0
    tmp1=0
    for i in sizes:
        if i[0]<i[1]:
            i[0],i[1]=i[1],i[0]
    for i in range(len(sizes)):
        if sizes[i][0]>tmp0:
            tmp0=sizes[i][0]
        if sizes[i][1]>tmp1:
            tmp1=sizes[i][1]
    answer=tmp0*tmp1
    return answer

소요시간 1시간

접근방식:
1차시도
평균값보다 작으면 i[0]과i[1]을 바꿔주는 코드를 짰고 각각의 최대값을 찾아서 곱해주는 방식으로 접근

2차시도
i[0]과 i[1]을 대소비교 후 큰 것을 왼쪽,작은것을 오른쪽으로 넣어 둔 후
max 함수를 사용

셀프 피드백:의외로 간단한 문제였고 탐색 문제를 좀 더 풀어보자

profile
반갑습니다 알고리즘 공부 블로그입니다.

0개의 댓글