๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Developer/๐ŸŸ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด 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 ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

 


ํ’€์ด 

 

def solution(a,b):
	a.sort()
	b.sort(reverse = True)
	answer = 0
	for i in range(len(a)):
		answer += a[i] * b[i]
	return answer

 

a๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ 

 

b๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ์ •๋ ฌํ•œ๋’ค answer์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.