λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[Level 2] μ΅œμ†Ÿκ°’ λ§Œλ“€κΈ°

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 5. 18.

 

 

 

Algorithm

-  μ΅œμ†Ÿκ°’ λ§Œλ“€κΈ° -

 


 

문제

길이가 같은 λ°°μ—΄ A, B λ‘κ°œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

각 배열은 μžμ—°μˆ˜λ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€.

λ°°μ—΄ A, Bμ—μ„œ 각각 ν•œ 개의 숫자λ₯Ό 뽑아 두 수λ₯Ό κ³±ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 과정을 λ°°μ—΄μ˜ 길이만큼 λ°˜λ³΅ν•˜λ©°, 두 수λ₯Ό κ³±ν•œ 값을 λˆ„μ ν•˜μ—¬ λ”ν•©λ‹ˆλ‹€.

μ΄λ•Œ μ΅œμ’…μ μœΌλ‘œ λˆ„μ λœ 값이 μ΅œμ†Œκ°€ λ˜λ„λ‘ λ§Œλ“œλŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

(단, 각 λ°°μ—΄μ—μ„œ k번째 숫자λ₯Ό λ½‘μ•˜λ‹€λ©΄ λ‹€μŒμ— k번째 μˆ«μžλŠ” λ‹€μ‹œ 뽑을 수 μ—†μŠ΅λ‹ˆλ‹€.)

 

λ°°μ—΄ A, Bκ°€ μ£Όμ–΄μ§ˆ λ•Œ μ΅œμ’…μ μœΌλ‘œ λˆ„μ λœ μ΅œμ†Ÿκ°’μ„ λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

A B answer
[1, 4, 2] [5, 4, 4] 29
[1, 2] [3, 4] 10

 

문제 ν’€κΈ°

 

μ΄λ²ˆλ¬Έμ œλŠ” 숫자의 νŠΉμ§•(?)을 잘 νŒŒμ•…ν•˜λ©΄ 금방 해결될 수 μžˆμ—ˆλ˜ λ¬Έμ œμ˜€λ˜κ²ƒ κ°™λ‹€.

 

A와 B에 μžˆλŠ” 값을 κ³±ν•œλ‹€μŒ λ”ν•΄μ„œ κ°€μž₯ μž‘μ€ 값이 λ‚˜μ˜€κ²Œ ν•˜λŠ” 문제인데 일단 값을 λͺ¨λ‘ λ”ν•΄μ„œ μž‘μ€ 값이 λ‚˜μ˜¬ 수 μžˆλ„λ‘ ν•œλ‹€λŠ” λ‚΄μš© 보단 μ• μ΄ˆμ— 값을 κ³±ν• λ•Œ μž‘μ€μˆ˜κ°€ λ‚˜μ™€μ•Όν•œλ‹€λŠ” 것에 μ΄ˆμ μ„ λ§žμ·„λ‹€ 그러기 μœ„ν•΄μ„œλŠ” κ·Έ λ²”μœ„μ— μžˆλŠ” κ°€μž₯ μž‘μ€ κ°’κ³Ό κ°€μž₯ 큰값을 κ³±ν•˜λ©΄ λ¬Έμ œκ°€ 해결될 수 μžˆκ² λ‹€ μ‹Άμ–΄μ„œ λ°°μ—΄ A와 B의 정렬을 각각 μ˜€λ¦„μ°¨μˆœκ³Ό λ‚΄λ¦Όμ°¨μˆœμœΌλ‘œ 진행을 ν•΄μ£Όμ—ˆκ³  이후에 μ •λ ¬λœ 값듀을 ν† λŒ€λ‘œ 값을 κ³±ν•œλ’€μ— λ”ν•΄μ„œ μ΅œμ’…μ μœΌλ‘œ κ°€μž₯μž‘μ€ 값이 λ‚˜μ˜¬ 수 있게 값을 리턴해 μ£Όμ—ˆλ”λ‹ˆ 비ꡐ적 λ¬Έμ œκ°€ μ‰½κ²Œ ν•΄κ²°λ˜μ—ˆλ‹€.

 

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€