
반응형
뭐지.....
오늘 2단계 문제를 3개째 풀고 있는데 지금까지 계속 쉬웠다..
이 문제도 쉬운 문제다🤔🤔
10분도 안걸렸다
어제 푼게 유난히 어려운 문제였던걸까
2단계 말고 3단계도 풀어봐야겠다.
문제
문제 설명
길이가 같은 배열 A, B 두 개
각 배열은 자연수로 이루어져 있다.
배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한다.
=> 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적 합한다.
최종적인 누적합이 최소가 되도록 만드는 것이 목표
각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.
배열 A, B가 주어질 때 최종적으로 누적된 최솟값을 return 하는 함수를 작성해라
코드
# 길이가 같은 배열 A, B 두 개
# 각 배열은 자연수로 이루어져 있다.
# 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한다.
# => 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적 합한다.
# 최종적인 누적합이 최소가 되도록 만드는 것이 목표
# 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.
# 배열 A, B가 주어질 때 최종적으로 누적된 최솟값을 return 하는 함수를 작성해라
# A배열의 작은 값과 B배열의 큰 값 (혹은 그 반대)를 곱해서 계산하는게 제일 유리할 것 같다.
def solution(A,B):
answer = 0
print(A)
A = sorted(A)
B = sorted(B)[::-1]
# 반복 횟수 = 배열의 길이
n = len(A)
sum = 0
for i in range(n):
sum += A[i] * B[i]
answer = sum
return answer
A배열의 작은 값과 B배열의 큰 값 (혹은 그 반대)를 곱해서 계산하는게 제일 유리할 것 같다는 생각을 하고서
그렇게 코드를 짜봤더니 쉽게 통과했다!😊
반응형
'코테공부' 카테고리의 다른 글
[Python] 연습문제 : 숫자의 표현 (0) | 2023.09.21 |
---|---|
[Python] 코딩 기초 트레이닝 : 주사위 게임 3 (0) | 2023.09.20 |
[Python] 연습문제 : JadenCase 문자열 만들기 (0) | 2023.09.20 |
[Python] 연습문제 : 최댓값과 최솟값 (0) | 2023.09.20 |
[Python] 월간 코드 챌린지 시즌1 : 이진 변환 반복하기 (0) | 2023.09.19 |