Programmers

[ 1단계 ] 두 개 λ½‘μ•„μ„œ λ”ν•˜κΈ°

Design-loving front-end engineer 2022. 8. 4. 22:08

πŸ”΄  문제 μ„€λͺ…

μ •μˆ˜ λ°°μ—΄ numbersκ°€ μ£Όμ–΄μ§‘λ‹ˆλ‹€. numbersμ—μ„œ μ„œλ‘œ λ‹€λ₯Έ μΈλ±μŠ€μ— μžˆλŠ” 두 개의 수λ₯Ό 뽑아 λ”ν•΄μ„œ λ§Œλ“€ 수 μžˆλŠ” λͺ¨λ“  수λ₯Ό 배열에 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ λ‹΄μ•„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

 

🟠  μ œν•œ 사항

  • numbers의 κΈΈμ΄λŠ” 2 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.
    • numbers의 λͺ¨λ“  μˆ˜λŠ” 0 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.

 

🟑  μž…μΆœλ ₯ 예

number result
[2,1,3,4,1] [2,3,4,5,6,7]
[5,0,2,7] [2,5,7,9,12]

 

🟒  μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

  • 2 = 1 + 1 μž…λ‹ˆλ‹€. (1이 numbers에 두 개 μžˆμŠ΅λ‹ˆλ‹€.)
  • 3 = 2 + 1 μž…λ‹ˆλ‹€.
  • 4 = 1 + 3 μž…λ‹ˆλ‹€.
  • 5 = 1 + 4 = 2 + 3 μž…λ‹ˆλ‹€.
  • 6 = 2 + 4 μž…λ‹ˆλ‹€.
  • 7 = 3 + 4 μž…λ‹ˆλ‹€.
  • λ”°λΌμ„œ [2,3,4,5,6,7] μ„ return ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

  • 2 = 0 + 2 μž…λ‹ˆλ‹€.
  • 5 = 5 + 0 μž…λ‹ˆλ‹€.
  • 7 = 0 + 7 = 5 + 2 μž…λ‹ˆλ‹€.
  • 9 = 2 + 7 μž…λ‹ˆλ‹€.
  • 12 = 5 + 7 μž…λ‹ˆλ‹€.
  • λ”°λΌμ„œ [2,5,7,9,12] λ₯Ό return ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

πŸ”΅  μ½”λ“œ

 
function solution(numbers) {
    const set = new Set();
    for (let i = 0; i < numbers.length; i++) {
        for (let j = i + 1; j < numbers.length; j++) {
            set.add(numbers[i] + numbers[j]);
        }
    }
    return [...set.values()].sort((a, b) => a - b);
}