코딩테스트 & 문제 풀이

[Python]프로그래머스_Lv1 : 최소직사각형

2023. 5. 15. 00:12

2022년 7월 28일에 작성됨

 

https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=python3 

 

프로그래머스

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

programmers.co.kr

 

 

문제 분석

명함을 가로로 수납하든 세로로 수납하든 지갑에 넣기만 하면 된다.

- 각 가로, 세로 중 큰 값을 가로, 작은 값을 세로로 둔다.
- 가로 값, 세로 값 중에서 가장 큰 값을 골라 그 둘을 곱해주면 최소 지갑의 크기가 된다.

ex) sizes의 원소가 [1, 2], [3, 4], [6, 5] 이렇게 있다고 가정하면,
가로: 2, 4, 6
세로: 1, 3, 5
최소 지갑의 크기: 가로 최댓값 * 세로 최댓값 = 6 * 5 = 30 이 된다.

 

 

소스 코드 (⭕)

def solution(sizes):
    
    w_max = 0
    h_max = 0
    
    for a, b in sizes:				# <for 반복문 구조> for 변수 in 리스트:
        
        if a < b:					# 세로(b)가 가로(a)보다 클 경우
            a, b = b, a			# 가로와 세로 값을 바꾸어 큰 값을 가로에 넣어줌
            
        if w_max < a:				# 가로 값들 중에 가장 큰 값 구하기
            w_max = a
            
        if h_max < b:				# 세로 값들 중에 가장 큰 값 구하기
            h_max = b

    return h_max * w_max			# 가로와 세로의 최대 길이를 곱한 값 반환

 

코드 분석

1. sizes 리스트에 존재하는 요소를 하나씩 확인하며, 가로의 길이(a)가 세로의 길이(b) 보다 더 크도록 만들어 준다.

 

2. 만약 가로의 길이가 w_max보다 크다면 w_max을 a로 설정한다.

 

3. 만약 세로의 길이가 h_max보다 크다면 h_max을 b로 설정한다.

 

4. 가로의 최대 길이(w_max)와 세로의 최대 길이(h_max)를 곱한 값을 반환한다.

 

 

 

end

파이썬에 아직 적응이 안돼서 너무 어려웠다..
if문은 c언어랑 구조가 비슷해서 괜찮았는데 for문은 시퀀스 객체, 튜플, 리스트 이런 용어들이 막 나와서 헷갈리고 뭐가 뭔지 정확히 모르겠다. 하다 보면 알게 되겠지ㅜ?

 

 

 

'코딩테스트 & 문제 풀이' 카테고리의 다른 글

[Python]프로그래머스_Lv1 : 나머지가 1이 되는 수 찾기  (1) 2023.05.16
[C]프로그래머스_Lv1 : 소수 만들기  (0) 2023.05.15
[Python]프로그래머스_Lv1 : 짝수와 홀수  (1) 2023.05.14
[C]프로그래머스_Lv1 : 2016년  (1) 2023.05.14
[C]프로그래머스_Lv1 : 핸드폰 번호 가리기  (3) 2023.05.14
  1. 문제 분석
  2. 소스 코드 (⭕)
  3. 코드 분석
  4. end
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
  • [Python]프로그래머스_Lv1 : 나머지가 1이 되는 수 찾기
  • [C]프로그래머스_Lv1 : 소수 만들기
  • [Python]프로그래머스_Lv1 : 짝수와 홀수
  • [C]프로그래머스_Lv1 : 2016년
Hicecream
Hicecream
Hicecream
Hicecream
Hicecream
전체
오늘
어제
  • 분류 전체보기 (203) N
    • 코딩테스트 & 문제 풀이 (159)
    • 동아리 활동 (8)
    • 외부 활동 (0)
    • 대학 과제 (3)
    • Git & Git Hub (5)
    • 코딩 프로젝트 (4)
    • 공부 메모 (18) N
    • 일상 (2)
    • 참고사항 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Bronze 4
  • 문자열
  • LV1
  • Bronze 2
  • 구현
  • Bronze 1
  • 정렬
  • Bronze 3
  • C
  • programmers
  • 사칙연산
  • 수학
  • Silver 4
  • python
  • BOJ
  • Code up
  • Java
  • Bronze 5
  • C언어 기초 100제
  • Silver 5

최근 댓글

최근 글

hELLO · Designed By 정상우.
Hicecream
[Python]프로그래머스_Lv1 : 최소직사각형
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.