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
- 코딩테스트
- 데이터
- 부스트캠프
- 코테
- 머신러닝
- 딥러닝
- SGD
- 협업 필터링
- Python
- Cosine-similarity
- 백준
- 웹크롤링
- wordcloud
- 시각화
- 알고리즘
- pytorch
- 데이터 엔지니어링
- codingtest
- 분산 시스템
- coursera
- 파이썬
- 웹스크래핑
- 추천시스템
- TF-IDF
- Overfitting
- Tensor
- selenium
- 추천 시스템
- recommendation system
- 프로그래머스
Archives
- Today
- Total
개발자식
[프로그래머스] 최소직사각형 본문
최소직사각형
https://school.programmers.co.kr/learn/courses/30/lessons/86491
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이 (12:50 ~ 13:10)
- sizes에서 w,h를 비교하여 h 값이 더 크다면 w,h 값을 바꿔준다.
- 바꿔준 후 sizes에서 w에서 가장 큰 값, h에서 가장 큰 값을 size에 각각 저장하고 두 수를 곱한 값을 return 한다.
def solution(sizes):
answer = 0
size = [0,0]
check = sizes.copy()
for i in range(len(sizes)):
if sizes[i][0] < sizes[i][1]:
check[i][0],check[i][1] = check[i][1], check[i][0]
for i in range(len(sizes)):
if size[0] < sizes[i][0]:
size[0] = sizes[i][0]
if size[1] < sizes[i][1]:
size[1] = sizes[i][1]
return size[0] * size[1]
좋은 풀이
- 결국 sizes에서 최소 값 중에 최대 값, 최대 값 중에 최대 값을 곱하는 것이 가장 작은 지갑을 만들 수 있다.
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 실패율 (0) | 2022.08.18 |
---|---|
[프로그래머스] 소수 만들기 (0) | 2022.08.18 |
[프로그래머스] 가장 먼 노드 (0) | 2022.07.01 |
[프로그래머스] 가장 큰 수 (0) | 2022.07.01 |
[프로그래머스] 모의고사 (0) | 2022.07.01 |
Comments