๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”Ž Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜

by ChaeLOTUS 2023. 4. 27.
728x90

๋ฌธ์ œ ๋ณด๊ธฐ

 

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

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

programmers.co.kr

 

์ด ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด Map์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

Map


  • Map์€ ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ปฌ๋ ‰์…˜์ด๋‹ค.

 

Map vs ๊ฐ์ฒด

  Map ๊ฐ์ฒด
ํ‚ค ์œ ํ˜• Map์˜ ํ‚ค๋Š” ๋ชจ๋“  ๊ฐ’(ํ•จ์ˆ˜, ๊ฐ์ฒด ๋˜๋Š” ์›์‹œ๊ฐ’ ํฌํ•จ)์ด ๋  ์ˆ˜ ์žˆ๋‹ค. Object์˜ ํ‚ค๋Š” String ๋˜๋Š” Symbol์ด์—ฌ์•ผ ํ•œ๋‹ค.
์ˆœํšŒ Map์€ ์ˆœํšŒ๊ฐ€๋Šฅ(iterable)ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏ€๋กœ ์ง์ ‘ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋‹ค. Object๋Š” iteration protocol์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋กœ ๊ฐœ์ฒด๋Š” for...of๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง์ ‘์ ์œผ๋กœ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์—†๋‹ค.
์„ฑ๋Šฅ ํ‚ค-๊ฐ’ ์Œ์˜ ๋นˆ๋ฒˆํ•œ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ์™€ ๊ด€๋ จ๋œ ์ƒํ™ฉ์—์„œ๋Š” ์„ฑ๋Šฅ์ด ์ข€ ๋” ์ข‹๋‹ค. ํ‚ค-๊ฐ’ ์Œ์˜ ๋นˆ๋ฒˆํ•œ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ์— ์ตœ์ ํ™”๋˜์ง€ ์•Š๋‹ค.

 

 

 Map ๊ฐ์ฒด

์ดํ„ฐ๋Ÿฌ๋ธ”์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„ ์ƒ์„ฑํ•œ๋‹ค.

const map1 = new Map([['key1', 'value1'], ['key2', 'value2']]);
console.log(map1); // Map(2) {"key1" => "value1", "key2" => "value2"}

const map2 = new Map([1, 2]); // TypeError: Iterator value 1 is not an entry object

์ค‘๋ณต๋œ ํ‚ค๋Š” map ๊ฐ์ฒด์— ์š”์†Œ๋กœ ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

function solution(participant, completion) {
  let map = new Map();

  for (let i = 0; i < participant.length; i++) {
    map.set(participant[i], (map.get(participant[i]) || 0) + 1);
    map.set(completion[i], (map.get(completion[i]) || 0) - 1);
  }

  for (let [k, v] of map) {

    if (v > 0) return k;
  }
}

 

728x90

'๐Ÿ”Ž Algorithm > ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์บ์‹œ  (0) 2023.04.27
์•ˆ์ „์ง€๋Œ€  (0) 2023.03.31
๊ฐœ๋ฏธ ๊ตฐ๋‹จ  (0) 2023.03.04
๋ชจ์Œ ์ œ๊ฑฐ  (0) 2023.03.04
์ง„๋ฃŒ ์ˆœ์„œ ์ •ํ•˜๊ธฐ  (0) 2023.03.04

๋Œ“๊ธ€