์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- js ์ค์ฝํ
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- app router emotion
- suspense ๋น๋๊ธฐ
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ์ฌ์ฉ์ฑ ๊ฐ์
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- emotion RSC
- emtion app router
- ๋ฐฑ์ค 1339๋ฒ js
- suspense ๋ณ๋ชฉํ์
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- suspense ๋์์๋ฆฌ
- ์ค์ฝํ
- ๋ฐฑ์ค 2108 nodejs
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- next13 emotion
- suspense react-query
- ์นด์นด์ค ์ฝํ
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- ์ต์ ๋์ฒด์ด๋
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- js ๋ฌธ์์ด ์์ถ
- ๊ตฌ๋ฆํค
- ๋ฐฑ์ค 1339๋ฒ nodejs
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- js
- Today
- Total
Lennon FE
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (js) ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (js)
Lennon 2022. 2. 10. 12:33https://programmers.co.kr/learn/courses/30/lessons/42583?language=javascript
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ
programmers.co.kr
function solution(bridge_length, weight, truck_weights) {
truck_weights = truck_weights.map((v) => [v, 0]);
const passingTruck = [];
const passedTruck = [];
const len = truck_weights.length;
let count = 1;
while (passedTruck.length !== len) {
count++;
if (truck_weights.length > 0) {
passingTruck.push(truck_weights.shift());
}
const truckWeight = passingTruck.reduce((prev, cur) => prev + cur[0], 0);
if (truckWeight > weight) {
truck_weights.unshift(passingTruck.pop());
}
passingTruck.map((v) => v[1]++);
if (passingTruck[0][1] === bridge_length) {
passedTruck.push(passingTruck.shift());
}
}
return count;
}
truck_weights [7,4,5,6]์ [ [7,0], [4,0], [5,0], [6,0] ] ํํ๋ก ๋ฐ๊พผ๋ค.
passingTruck
์ง๋๊ฐ๋ ํธ๋ญ์ ๋ฃ๋ ๋ฐฐ์ด
passedTruck
ํธ๋ญ์ด ์ง๋๊ฐ๋ฉด ๋ฃ๋ ๋ฐฐ์ด
count
์๊ฐ์ ์ฌ๋ ๋ณ์
while ๋ด๋ถ ๋ก์ง
count๋ ๊ณ์ 1์ฉ ๋ํด์ค๋ค.
1. truck_weights ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 0์ด ์๋๋ฉด truck_weight ์ ๋ ฅ ๋ฐฐ์ด์์ shift ํ์ฌ passingTruck์ push ํ๋ค.
2. passingTruck์ ๋ค์ด๊ฐ ์๋ ํธ๋ญ๋ค์ ๋ฌด๊ฒ(truckWeight)๋ฅผ ๊ตฌํ๋ค.
3. truckWeight๊ฐ weight๋ฅผ ๋์ผ๋ฉด passingTruck ๋ฐฐ์ด์์ pop์ ํ๊ณ , ๊ทธ ๊ฐ์ ๋ค์ truck_weights ๋ฐฐ์ด์ ๋ฃ๋๋ค.
4. passingTruck ๋ฐฐ์ด์ ๋ชจ๋ ์ธ๋ฑ์ค๋ฅผ ์ํํ๋ฉฐ [1] ๊ฐ์ 1์ฉ ๋ํ๋ค. ex) [7, 0] => [7, 1]
5. ์์๋๋ก ๋ค์ด์ค๋ฏ๋ก passingTruck[0][1] ๊ฐ์ด bridge_length๊ฐ์ด ๋๋ฉด
passingTruck์์ shift ํ๋ฉฐ ๊ทธ ๊ฐ์ passedTruck์ push ํ๋ค.
6. passedTruck์ ๋ฐฐ์ด ๊ธธ์ด๊ฐ ์ฒ์ ์ ๊ณต๋ truck_weights ๊ธธ์ด๊ฐ ๋๋ฉด while๋ฌธ์ ์ข ๋ฃํ๋ค.
'๐ฅ Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํผ๋ก๋ - ์๋ฐ์คํฌ๋ฆฝํธ(js) (0) | 2022.03.14 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ์ ๊ตญ์ฌ์ฌ (0) | 2022.03.01 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ์ด์ค์ฐ์ ์์ํ (js) (0) | 2022.02.03 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ๋ถ๋ ์ฌ์ฉ์ (js) (0) | 2022.02.03 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv.3] ๋จ์ ์นด๋ฉ๋ผ (js) (0) | 2022.01.30 |