[프로그래머스][파이썬] 최댓값 만들기(1) - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 17일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120847

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(numbers):
    numbers.sort()
    return numbers[-1] * numbers[-2]
  • 곱셈중에 최대를 만드려면 두 개를 최대로 만들어버리면 된다.
  • 역순 정렬해서 0 번과 1 번 인덱스를 선택해서 곱해도 된다.

◽ 다른 사람 풀이

def solution(numbers):
    num1 = 0
    num2 = 0
    answer = 0

    numbers.sort()

    num1 = numbers.pop()
    num2 = numbers.pop()
    answer = num1 * num2

    return answer
  • 다들 위에 내가 생각했던 대로 풀이했는데, 이 풀이만 달랐다.
  • 파이썬에서 deque도 있지만 기본적으로 리스트에서 스택을 구현하는 것도 좋다고 했다.
  • 이를 이용해서 정렬된 리스트에서 pop() 을 통해 최댓값들을 뽑아냈다.

◽ 더 나아가기

  • pop() 의 실행결과를 보면 알다시피 뽑아내는거라 원본이 변하는 점을 참고하자.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글