[프로그래머스] 최댓값 만들기 (2)

해피데빙·2023년 1월 4일
0

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

포인트

두 수의 절댓값의 곱이 가장 크도록 해야 한다
그러므로 두 수의 조건 :
(1) 같은 양수 또는 같은 음수 (2) 가장 큰 절댓값

의사코드

배열을 정렬해서 가장 작은 수끼리, 가장 큰 수끼리 곱하면 위의 두 조건을 성립한다

내 풀이

def solution(numbers):
    numbers.sort()
    return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2])

깨달은 점

연습장에 필요한 조건들과 이를 충족하기 위한 방법을 먼저 강구하고 코드로 옮겼더니 바로 풀렸다.
심지어 고민하다 코드가 너무 더러워서 몇 번이나 미룬 문제였는데..!
역시 고민하는 시간이 중요하다.

실행

  1. 연습장 써서 풀이 고민한 후 코드로 옮기기
  2. 30분 고민 후 안 풀리면 나중에 풀기
  3. 더럽게 풀었으면 답지 보고
    (1) 정리
    (2) 완벽히 이해(검색 등)
    (3) 다시 풀기
    (4) 나중에 다시 풀기
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글