๐Ÿ—๏ธ Algorithm/โฌ› ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] [์—ฐ์Šต ๋ฌธ์ œ] [Python] Level2_์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ

Dbswnstjd 2022. 10. 6. 22:22

๋ฌธ์ œ 

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

ํ’€์ด

# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2๋‹จ๊ณ„ - ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ
def solution(A,B):
    answer = 0
    A.sort() # ์˜ค๋ฆ„์ฐจ์ˆœ
    B.sort(reverse=True) # ๋‚ด๋ฆผ์ฐจ์ˆœ
    for i in range(len(A)):
        answer += A[i]*B[i]
    return answer

์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” A์˜ ์ตœ์†Ÿ๊ฐ’๊ณผ B์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ณฑํ–ˆ์„ ๋•Œ ์ตœ์†Ÿ๊ฐ’์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค๋Š” ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜์˜€๋‹ค. 

๊ทธ ํ›„์— A๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ  B๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด

A์˜ ์ตœ์†Ÿ๊ฐ’๊ณผ B์˜ ์ตœ๋Œ“๊ฐ’์ด for๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ณฑํ•ด์ง€๊ณ 

๊ทธ ๊ฐ’์„ ๋”ํ•˜์—ฌ answer์— ์ €์žฅํ•œ ํ›„ ๋ฆฌํ„ดํ•œ๋‹ค.