๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (130) N
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (35) N
      • Next.js (16) N
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (27)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (6)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ฝœ์Šคํƒ
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ๋ฉด์ ‘
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • reflow
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • ํž™์˜์—ญ
  • layout shift
  • react
  • next.js
  • ๋ ‰์‹œ์ปฌ
  • SSR
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ์›์‹œํƒ€์ž…
  • ์˜ค๋ธ”์™„
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • ํ˜ธ์ด์ŠคํŒ…
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi
CS/Algorithm

[Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv1 - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜(hashMap)

CS/Algorithm

[Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv1 - ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜(hashMap)

2024. 8. 1. 23:02

โœ”๏ธ ๋ฌธ์ œ๋งํฌ

https://school.programmers.co.kr/learn/courses/30/lessons/42576

 

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

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

programmers.co.kr

โœ”๏ธ ๋ฌธ์ œ์š”์•ฝ

n๋ช…์˜ ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ๋›ฐ๊ณ  n-1๋ช…์˜ ์„ ์ˆ˜๊ฐ€ ์™„์ฃผ๋ฅผ ํ•œ๋‹ค. ์™„์ฃผ๋ฅผ ํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ๋ผ.

์ž…๋ ฅ : ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋ฌธ์ž์—ด๋กœ ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด participant, ์™„์ฃผํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์ด ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด์ธ completion

๐Ÿ”ด ์ œํ•œ์‚ฌํ•ญ

  • 1๋ช… ์ด์ƒ 100,000๋ช… ์ดํ•˜
  • ์ฐธ๊ฐ€์ž ์ค‘์—๋Š” ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿšฉ ์ ‘๊ทผ๋ฒ•

1. ์‹œ๊ฐ„ ์ œํ•œ์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— 10๋งŒ๋ช…์˜ participant๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.

2. ๋™๋ช…์ด์ธ์ด ์žˆ๊ธฐ๋•Œ๋ฌธ์— filter๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด participant์˜ ๋ชจ๋“  ๋™๋ช…์ด์ธ์ด ์‚ฌ๋ผ์ง„๋‹ค. ๋”ฐ๋ผ์„œ hashmap์„ ์‚ฌ์šฉํ•˜์ž

๐Ÿ’ก์ฝ”๋“œ

function solution(participant, completion) {
let hashMap = new Map();
participant.forEach((person) => {
if(hashMap.has(person)) hashMap.set(person, hashMap.get(person)+1);
else hashMap.set(person, 1);
});
completion.forEach((person) => {
hashMap.set(person, hashMap.get(person)-1);
});
for([k, v] of hashMap){
if(v > 0) return k;
}
return answer;
}

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ˆ ์ฝ”๋“œ๋ฅผ ์ข€ ๋” ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

function solution(participant, completion) {
let hashMap = new Map();
for(let i=0; i<participant.length; i++){
let a = participant[i], b = completion[i];
hashMap.set(a, (hashMap.get(a) || 0) + 1);
hashMap.set(b, (hashMap.get(b) || 0) - 1);
}
for([k, v] of hashMap){
if(v > 0) return k;
}
return answer;
}
์ €์ž‘์žํ‘œ์‹œ

'CS > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ๊ธฐ๋Šฅ๊ฐœ๋ฐœ(array)  (0) 2024.08.07
[Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ์˜์ƒ(hashMap)  (0) 2024.08.04
[Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก(some, indexOf, startsWith)  (0) 2024.08.02
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ธŒ๋ฃจํŠธ ํฌ์Šค(brute force) - ์™„์ „(์ „์ฒด) ํƒ์ƒ‰  (0) 2024.03.08
  • โœ”๏ธ ๋ฌธ์ œ๋งํฌ
  • โœ”๏ธ ๋ฌธ์ œ์š”์•ฝ
  • ๐Ÿ”ด ์ œํ•œ์‚ฌํ•ญ
  • ๐Ÿšฉ ์ ‘๊ทผ๋ฒ•
  • ๐Ÿ’ก์ฝ”๋“œ
'CS/Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ๊ธฐ๋Šฅ๊ฐœ๋ฐœ(array)
  • [Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ์˜์ƒ(hashMap)
  • [Algorithm-JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ Lv2 - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก(some, indexOf, startsWith)
  • [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ธŒ๋ฃจํŠธ ํฌ์Šค(brute force) - ์™„์ „(์ „์ฒด) ํƒ์ƒ‰
๐Ÿธminzzi
๐Ÿธminzzi

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.