-
[백준 / Python] 1026번 보물 | 초코더알고리즘/백준 2020. 1. 13. 16:27
https://www.acmicpc.net/problem/1026
접근법
A배열을 큰순서로 정렬하고, B배열을 작은순으로 정렬하여 곱해주었을때 합이 가장 작게 나옵니다.
저는 이 문제를 풀때 어떻게 푸는지 방법보다 입력받아오는 것에서 많이 헷갈렸기 때문에 이부분을 좀 정리해보겠습니다.
입력부분
제가 첨에는 for _ in range(N) 반복문안에다가 a.append(list(map(int,input().split())))을 넣었더니 계속 오류가났습니다.
이 문제의 입력은 1 이런식으로 받아오는 것이 아니라 1 1 요런식으로 받아오기때문에 입력받을때
1
굳이 반복문을 써줄 필요가 없었습니다. 헷갈리지 않게 잘 정리해 둬야겠습니다.
그리고 의문점 중 하나가 문제에서 B배열은 재배열하지 말라고 하였는데.. 저는 재배열을 한것같은데 이게 맞았습니다로 떠서 맞는건지..틀린건지.. ㅎㅎ
나의 풀이
N = int(input()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort(reverse=True) b.sort() answer=0 for i in range(N): answer+=a[i]*b[i] print(answer)
'알고리즘 > 백준' 카테고리의 다른 글
[백준 / Python] 10825번 국영수 | 초코더 (0) 2020.01.13 [백준 / Python] 11004번 K번째 수 | 초코더 (0) 2020.01.13 [백준 / Python] 2108번 통계학 | 초코더 (0) 2020.01.13 [백준 / Python] 1181번 단어 정렬 | 초코더 (0) 2020.01.12 [백준 / Python] 11650번 좌표 정렬하기 | 초코더 (0) 2020.01.12