πŸ¦… μ½”λ“œμΉ΄νƒ€ #3

μ†Œμ§„μˆ˜Β·2021λ…„ 9μ›” 2일
0

algorithm

λͺ©λ‘ 보기
5/9
post-thumbnail

πŸ¦… 폰켓λͺ¬ 문제


μΆ•μ•½) μ€‘λ³΅λ˜λŠ” 값이 μ‘΄μž¬ν•˜λŠ” λ°°μ—΄μ—μ„œ μ ˆλ°˜μ„ κ°€μ Έκ°ˆ λ•Œ, μ΅œλŒ€ν•œ 쀑볡이 λ˜μ§€ μ•Šκ²Œ κ°€μ Έκ°€λŠ” κ°’λ“€μ˜ 개수λ₯Ό λ°˜ν™˜ν•˜λΌ

  1. μ€‘λ³΅λ˜λŠ” 값을 μ œκ±°ν•˜κ³  μƒˆλ‘œμš΄ 값을 λ§Œλ“ λ‹€ (new Set(nums))
    • Set κ°μ²΄λŠ” μœ μΌν•œ μ›μ‹œκ°’μ„ λ°˜ν™˜ν•œλ‹€
  2. μ΅œλŒ€ 값이 될 개수(N/2)λ₯Ό μ •μ˜ν•œλ‹€. (nums.length/2)
  3. 절반으둜 λ‚˜λˆˆ 개수λ₯Ό μ΅œλŒ€λ‘œ μ„€μ •ν•˜μ—¬ κ·Έ μ•ˆμ—μ„œ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 값듀을 λ„£μ–΄μ„œ 개수λ₯Ό 확인 ν›„, λ°˜ν™˜
    • splice둜 0λ²ˆλΆ€ν„° μ΅œλŒ€ 개수(nums.length/2)만 spliceν•΄μ„œ λ°˜ν™˜ν•œλ‹€.

였늘의 배움 ( SET )


Set κ°μ²΄λŠ” μžλ£Œν˜•μ— 관계 없이 μ›μ‹œ κ°’κ³Ό 객체 μ°Έμ‘° λͺ¨λ‘ μœ μΌν•œ 값을 μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

const set1 = new Set([1, 2, 3, 4, 5]);

console.log(set1.has(1));
// expected output: true

console.log(set1.has(5));
// expected output: true

console.log(set1.has(6));
// expected output: false

λ§€κ°œλ³€μˆ˜λŠ” 반볡 κ°€λŠ₯ν•œ 객체가 μ „λ‹¬λœ 경우, κ·Έ μš”μ†ŒλŠ” λͺ¨λ‘ μƒˆλ‘œμš΄ Set에 μΆ”κ°€λ©λ‹ˆλ‹€.

λ§Œμ•½ λ§€κ°œλ³€μˆ˜λ₯Ό λͺ…μ‹œν•˜μ§€ μ•Šκ±°λ‚˜ null을 μ „λ‹¬ν•˜λ©΄, μƒˆλ‘œμš΄ Set은 λΉ„μ–΄ μžˆλŠ” μƒνƒœκ°€ λ©λ‹ˆλ‹€.

profile
λŠλ €μ„œ λ°”μ˜λ‹€

0개의 λŒ“κΈ€