본문 바로가기
프로그래머스/Python

[프로그래머스] 최소직사각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 7.
728x90
반응형

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

지갑의 크기를 가장 작게 만들려면 각 길이를 작은 길이별로, 큰 길이별로 구분하여 각각 가장 큰 값만 추출하여 만들면 된다.

 

  1. 각 명함의 원소를 하나씩 추출하여 for i in sizes
  2. 더 짧은 길이가 앞에 오도록 다시 정렬한다. i.sort()
  3. 가로의 길이를 저장할 변수를 만들고 초기화한다. length = 0
  4. 세로의 길이를 저장할 변수를 만들고 초기화한다. width = 0
  5. 각 명함의 원소를 하나씩 추출한다. for i in sizes
  6. 추출한 원소의 첫 번째 값 중 가장 큰 값을 가로 길이에 저장한다. if (length < i[0]): length = i[0]
  7. 추출한 원소의 두 번째 값 중 가장 큰 값을 세로 길이에 저장한다. if (width < i[1]): width = i[1]
  8. 각 가로의 길이와 세로의 길이를 곱한 결과를 정답에 저장한다. answer = length * width
반응형

3. 소스코드

def solution(sizes):
    answer = 0
    
    for i in sizes:
        i.sort()
    
    length = 0
    width = 0
    for i in sizes:
        if (length < i[0]):
            length = i[0]
        if (width < i[1]):
            width = i[1]
            
    answer = length * width
    
    return answer
728x90
반응형