반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- itertools
- 알고리즘의 조건 5가지
- 리스트
- 큐
- Import
- 태그
- 알고리즘의 조건
- 코딩테스트
- 알고리즘 표현
- 트리
- Combination
- 자료구조
- Tree
- 들여쓰기로 표현한 트리
- list
- python
- 스택
- LV.1
- 코딩 테스트
- java
- html
- 과일 장수
- 파이썬
- 알고리즘
- 유사코드
- 유한소수 판별하기
- 자바
- 좋은 알고리즘
- import itertools
- 프로그래머스
Archives
- Today
- Total
인천의 자유인
[Python] 최소 직사각형 - 프로그래머스(Lv.1) 본문
728x90
반응형
반응형
나의 문제 풀이
def solution(sizes):
a = max(map(max, sizes)) #전체 최댓값
for i in sizes:
if a in i:
b = min(i)
c=b #변경할 값
for i in sizes:
if min(i) >= b and min(i) >= c:
c = min(i)
return a*c
변수 a는 이차원 배열 안에서 가장 큰 값을 구하는데 쓰는 것입니다. 왜냐하면 해답을 구하기 위해서는 가장 긴 변을 구해야 하기 때문입니다. 그리고 가장 큰 값의 옆에 있는 요소를 구하기 위해 for문을 사용했습니다. 그리고 마지막으로 곱할 다른 변을 구하기 위해 계속 변경을 할 수 있는 변수 c를 따로 만들었습니다. 왜냐하면 적어도 가장 큰 값 옆에 있는 값보다는 크거나 값아야 하기 때문입니다.
이것을 한 후에 for문을 돌리는데, for문을 통해서 각 배열마다 작은 요소와 가장 큰 값 옆에 있는 값과 비교를 해서 가장 큰 값과 곱할 요소를 찾습니다. 그것을 완료한 후 return을 하면 정답을 구할 수 있습니다.
중간에 print로 과정을 확인하면서 출력하면 이해하기 쉬울 것입니다.
728x90
반응형
'Python > Python코딩테스트' 카테고리의 다른 글
[Python] 가장 가까운 같은 글자 - 프로그래머스(Lv.1) (0) | 2024.06.02 |
---|---|
[Python] 시저 암호 - 프로그래머스(Lv.1) (0) | 2024.05.29 |
[Python] 예산 - 프로그래머스(Lv.1) (0) | 2024.05.24 |
[Python] 크기가 작은 부분 문자열 - 프로그래머스(Lv.1) (0) | 2024.05.23 |
[Python] 3진법 뒤집기 - 프로그래머스(Lv.1) (0) | 2024.05.22 |