[99클럽 코테 스터디 2기][Python/비기너] 여섯번째 문제 : Maximum Product of Two Elements in an Array

최민지·2024년 5월 25일
0
post-thumbnail

[Maximum Product of Two Elements in an Array]

썸네일이 생겨서 바로 적용해보았다..! ㅎㅎ

문제

입력과 출력

코드

class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        nums.sort()
        first= nums[len(nums)-1]
        second= nums[len(nums)-2]

        result=(first-1)*(second-1)

        return result

알고리즘
#배열에서 곱한 값이 가장 큰 두수의 곱 추출
#원소-1을 곱해야함.
#가장 큰수 둘을 곱하면 큰값이 나올것임
#두번째로 큰수는 max로 추출할 수 없기에
#sort로 정렬후 뒤에서부터 가장 큰수~>작은수이기때문에
#가장 마지막 수와 그 전 수를 곱했음

이번 문제는 굉장히 쉽다고 생각했다!
함수와 알고리즘에 조금 익숙해져서 그런지, 처음에 max를 썼다가 두번째 큰 수를 추출해야한다는 점을 다시 생각하고 정렬을 사용했다!

To do List & Something new I learned
1. 이번에도 런타임이 좀 길다..! 53초,, 런타임 짧은 풀이들과 비교해보니 큰 차이는 없는데.. 그래서 혹시 줄을 줄이면 될까? 해서 return (first-1)*(second-1)로 바꾸고 result줄을 지웠더니 더 길어졌다 ㅋㅋㅋㅋ..!!!
뭔가 하나의 기준은 안 것 같다,, 변수에 계산 결과를 대입해서 쓰는게 훨씬 간결한 코드...! first와 second를 어떻게 고치면 좀 더 짧아질 수 있을 지 고민해봐야겠다!

profile
공부..일기....

0개의 댓글