2024. 5. 10. 11:45ㆍ코드리뷰
공부하는허딩크 : https://www.youtube.com/live/kdCOczz1e9c?feature=shared
문제 길이만 길지 결국 아래의 사항을 이해하면 된다.
1. 가장 큰 수를 뽑아낸다. (가로, 세로 모두 합쳐서)
2. 가로, 세로를 (x, y)라고 했을때 (큰수, 작은수)로 만들어서 배열해 놓고 작은수들중의 가장 큰 수를 뽑는다.
위의 두 조건을 코드로 작성해 보면,
<첫번째 시도 : 실패>
위 2가지 조건을 찾아내지 못한채 그냥 코드만 두들긴 결과이다.
통과되는 문제도 있겠지만 테스트케이스별로 틀린 것도 발생한다.
1번의 가장 큰 수를 뽑아내는데 오류 발생함 1번째 인덱스에 가장 큰 수가 있으면 걸러내지 못함(아래의 배열)
[[14, 7], [12, 3], [10, 7], [8, 15], [5, 15]] [[15, 8], [10, 7], [14, 7], [15, 5], [12, 3]] |
<두번째 시도 : 통과>
1, 2번 조건을 만족할 수 있는 코드를 고민하고 작성함.
b가 함수에서 (max, min)을 다시 배열시킨뒤 key조건으로 1번째인덱스 기준으로 내림차순 한 후 인덱싱으로 뽑아냄.
<다른사람풀이 검토>
1. 이거 좀.... 와... : max(max(x) for x in sizes) * max(min(x) for x in sizes) : 나랑 생각의 방향은 동일한데 이렇게 뽑아내네..
2. 이거는 좀.... 이해가 어렵네. : solution = lambda sizes: max((sum(sizes, [])) * max(min(size) for size in sizes)
ㄴ 이 기능 신기하네? sum(sizes, [])를 하면 리스트 내 리스트가 하나로 바뀌네?? 이거 자주 써먹어야 겠다.
'코드리뷰' 카테고리의 다른 글
[python_파이썬_pass]프로그래머스_LV1_K번째수_풀이 (0) | 2024.05.10 |
---|---|
[python_파이썬_pass]프로그래머스_LV1_문자열 내 마음대로 정렬하기_풀이 (0) | 2024.05.10 |
[python_파이썬_pass]프로그래머스_LV1_시저 암호_풀이 (0) | 2024.05.09 |
[python_파이썬_pass_복습]프로그래머스_LV1_삼총사_풀이 (0) | 2024.05.08 |
[python_파이썬_pass]프로그래머스_LV1_크기가 작은 부분문자열_풀이 (0) | 2024.05.08 |