문제


시도
- 문제에서 무엇을 원하는지 전혀 몰랐지만 입출력 예 설명을보고 대강 유추는 가능했다.
- 첫 번째로 가로의 값은 최대 값을 구해야하고 두 번째는 세로의 작은 값중 큰값을 구해 가로와 세로를 곱해주는거다.
sizes = [[60, 50], [30, 70], [60, 30], [80, 40]]
def solution(sizes):
a = 0
w = 0 # 초기값! 비교하기 위함이다 #0, max 60
h = 0
for i in sizes:
w = max(w,max(i)) #max(w, 60 70 60 80)w는 0 여기서 0,60 을 비교해서 60이라는 값을 도출함.
print(w)
h = max(h,min(i)) #max(h, 50 30 30 40) 동문
a = w * h
return a
solution(sizes)
해결
최소 값의 작은 값중에 큰 값을 어떻게 찾아야하는지 고민을 많이 했다. if를 줘야할지 min을 사용해야할지 일단 내가 알고있는 것 만으로는 못풀거 같아서 검색을 통해 다른 함수들을 공부하다보니 min을 먼저 구하고 max를 사용해서 최소 값의 큰 값을 구할 수 있는 방법을 알았다.
배운점
w =0 , h = 0 이부분은 if문의 초기 값을 할 때 주로 사용해봤는데 for 문에서 처음 사용할땐 다른 사람한테 설명하는 부분이 어려웠다. [] , '' 이런 느낌으로 값을 넣어준다라고 설명은 했지만 아직 제대로 이해를 못한 부분때문에 좀 더알아보니깐 비교하는 거라고 이해했다.
'알고리즘' 카테고리의 다른 글
2023-04-28 가위바위보 3판2승 (0) | 2023.04.30 |
---|---|
2023-04-27 가위바위보,25304번: 영수증,커트라인 (0) | 2023.04.27 |
2023-04-25 알고리즘 문자열,배열(중복제거) (0) | 2023.04.25 |
2023-04-24 알고리즘 while,알고리즘 (0) | 2023.04.24 |
2023-04-18 알고리즘for문 range함수 사용 (0) | 2023.04.18 |
댓글