์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 68644] ๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ (Javascript)

์€์ง„ 2021. 6. 16. 17:11

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

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป๋ฌธ์ œ๋งํฌ

๋ฌธ์ œ ์„ค๋ช…
์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ์ˆ˜๋ฅผ ๋ฝ‘์•„ ๋”ํ•ด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ˆ˜๋ฅผ ๋ฐฐ์—ด์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ
numbers์˜ ๊ธธ์ด๋Š” 2 ์ด์ƒ 100 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
numbers์˜ ๋ชจ๋“  ์ˆ˜๋Š” 0 ์ด์ƒ 100 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ ์˜ˆ
numbers 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 ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โœ๏ธIdea Sketch

  1. numbers๋ฅผ ์ •๋ ฌํ•œ๋‹ค. sort()
  2. ์Šฌ๋ผ์ด๋“œ์œˆ๋„์šฐ left, right ๋ณ€์ˆ˜
  3. sort() --> ๋‘ ์ˆ˜๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฝ‘๋Š” ๋ฌธ์ œ์  ๋ฐœ๊ฒฌ
numbers.sort((a, b) => {
  if (!arr.includes(a+b)) arr.push(a+b)
})
  1. ์ด์ค‘๋ฐ˜๋ณต๋ฌธ --> ํšจ์œจ์„ฑ ๊ฑฑ์ • --> ์ผ๋‹จ ํ•ด๋ณด๊ธฐ๋กœ
    • arr ์ •๋ ฌํ•„์š” sort()

โœ๏ธ์†Œ์Šค์ฝ”๋“œ

2021-06-16

function solution(numbers) {
  let arr = [];
  for (let i=0; i<numbers.length-1; i++) {
    for (let j=i+1; j<numbers.length; j++) {
      if (!arr.includes(numbers[i] + numbers[j])) arr.push(numbers[i] + numbers[j])
    }
  }
  return arr.sort((a, b) => a-b)
}

2021-06-16

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

โœ๏ธ๋ช…๋‹ต

Set ์‚ฌ์šฉํ•˜๊ธฐ

์ด์ค‘๋ฐ˜๋ณต๋ฌธ์˜ !arr.includes() ์ƒ๋žต --> ๋ฐ”๋กœ arr.push() --> ์•„๋ž˜์˜ ์ฝ”๋“œ๋กœ arr์˜ ์ค‘๋ณต ์ œ๊ฑฐ

const result = [...new Set(arr)]
  1. Set์€ ์ค‘๋ณต์—†๋Š” ๋ฐฐ์—ด
let mySet = new Set();
let mySet = new Set([1, 2, 3, 4, 5]);
mySet.add( 6 );
  1. Set์„ array๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
let arr = Array.from(mySet)
let arr = Array.from(mySet).sort((a, b) => b-a);