[코딩테스트/Python] 프로그래머스 코딩테스트 - 최솟값 만들기

2024. 9. 30. 16:50·Minding's Programming/프로그래머스 코딩테스트
728x90
반응형

문제 설명
길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.
배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.)

예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면

A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5)
A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21)
A에서 세번째 숫자인 2, B에서 두번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 21 + 8(2x4) = 29)
즉, 이 경우가 최소가 되므로 29를 return 합니다.

배열 A, B가 주어질 때 최종적으로 누적된 최솟값을 return 하는 solution 함수를 완성해 주세요.

제한사항
배열 A, B의 크기 : 1,000 이하의 자연수
배열 A, B의 원소의 크기 : 1,000 이하의 자연수


입출력 예

 

문제 풀이

def solution(A,B):
    answer = 0
    # A와 B모두 오름차순 정렬
    A.sort()
    B.sort()
    for i in range(len(B)): # B의 최솟값과 A의 최댓값을 시작으로 곱해 누적값 최소화
        answer += B[i] * A[len(B) - i - 1]

    return answer

풀이 자체는 간단하다. 각 리스트의 최댓값과 최솟값을 서로 곱해주는 방식으로 진행하면 된다.

728x90

'Minding's Programming > 프로그래머스 코딩테스트' 카테고리의 다른 글

[코딩테스트/Python] 프로그래머스 코딩테스트 - 운송 트럭  (1) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 나머지 한 점  (1) 2024.09.30
[코딩테스트/Python] 프로그래머스 코딩테스트 - 기능 개발  (0) 2024.09.30
[프로그래머스 코딩테스트/Python] 예상 대진표 문제풀이  (0) 2024.08.30
[프로그래머스 코딩테스트/Python] 올바른 괄호 문제풀이  (0) 2024.08.29
'Minding's Programming/프로그래머스 코딩테스트' 카테고리의 다른 글
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 운송 트럭
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 나머지 한 점
  • [코딩테스트/Python] 프로그래머스 코딩테스트 - 기능 개발
  • [프로그래머스 코딩테스트/Python] 예상 대진표 문제풀이
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    칼만필터는어렵지않아
    FastAPI
    야구
    칼만필터는어렵지않아파이썬
    데이터분석
    코딩테스트
    딥러닝
    파이썬
    AWS
    질롱코리아
    메이저리그
    MLB
    프로그래머스
    Airflow
    넘파이
    게임개발
    django
    파이게임
    KalmanFilter
    칼만필터
    파이썬게임개발
    데이터 엔지니어
    에어플로우
    django python
    mlb stats api
    칼만필터는어렵지않아python
    pygame
    KBO
    머신러닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[코딩테스트/Python] 프로그래머스 코딩테스트 - 최솟값 만들기
상단으로

티스토리툴바