๐ค ์์งlog ๐ค
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 4 ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 4
Eun_zii 2024. 4. 1. 17:53ํ๋ก๊ทธ๋๋จธ์ค Lv.0
- ๋ฐฐ์ด ๋ง๋ค๊ธฐ 4
๐ ๋ฌธ์ ์ค๋ช
- ์ ์ ๋ฐฐ์ด arr๊ฐ ์ฃผ์ด์ง๋๋ค. arr๋ฅผ ์ด์ฉํด ์๋ก์ด ๋ฐฐ์ด stk๋ฅผ ๋ง๋๋ ค๊ณ ํฉ๋๋ค.
- ๋ณ์ i๋ฅผ ๋ง๋ค์ด ์ด๊ธฐ๊ฐ์ 0์ผ๋ก ์ค์ ํ ํ i๊ฐ arr์ ๊ธธ์ด๋ณด๋ค ์์ผ๋ฉด ๋ค์ ์์ ์ ๋ฐ๋ณตํฉ๋๋ค.
- ๋ง์ฝ stk๊ฐ ๋น ๋ฐฐ์ด์ด๋ผ๋ฉด arr[i]๋ฅผ stk์ ์ถ๊ฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
- stk์ ์์๊ฐ ์๊ณ , stk์ ๋ง์ง๋ง ์์๊ฐ arr[i]๋ณด๋ค ์์ผ๋ฉด arr[i]๋ฅผ stk์ ๋ค์ ์ถ๊ฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
- stk์ ์์๊ฐ ์๋๋ฐ stk์ ๋ง์ง๋ง ์์๊ฐ arr[i]๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด stk์ ๋ง์ง๋ง ์์๋ฅผ stk์์ ์ ๊ฑฐํฉ๋๋ค.
- ์ ์์ ์ ๋ง์น ํ ๋ง๋ค์ด์ง stk๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
๐ ์ ํ์กฐ๊ฑด
- 1 ≤ arr์ ๊ธธ์ด ≤ 100,000
- 1 ≤ arr์ ์์ ≤ 100,000
๐ ํ์ด
function solution(arr) {
const stk = [];
for (let i = 0; i < arr.length;) {
if (stk.length === 0) {
stk.push(arr[i++]);
} else if (stk[stk.length - 1] < arr[i]) {
stk.push(arr[i++]);
} else {
stk.pop();
}
}
return stk;
}
โ
๋ณ์ i๋ฅผ ๋ง๋ค์ด ์ด๊ธฐ๊ฐ์ 0์ผ๋ก ์ค์ ํ ํ i๊ฐ arr์ ๊ธธ์ด๋ณด๋ค ์์ผ๋ฉด ๋ค์ ์์ ์ ๋ฐ๋ณตํฉ๋๋ค.
: for (let i = 0; i < arr.length;) { }
๋ง์ฝ stk๊ฐ ๋น ๋ฐฐ์ด์ด๋ผ๋ฉด arr[i]๋ฅผ stk์ ์ถ๊ฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
: if (stk.length === 0) {
stk.push(arr[i++]);
}
stk์ ์์๊ฐ ์๊ณ , stk์ ๋ง์ง๋ง ์์๊ฐ arr[i]๋ณด๋ค ์์ผ๋ฉด arr[i]๋ฅผ stk์ ๋ค์ ์ถ๊ฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
: if (stk[stk.length - 1] < arr[i]) {
stk.push(arr[i++]);
}
stk์ ์์๊ฐ ์๋๋ฐ stk์ ๋ง์ง๋ง ์์๊ฐ arr[i]๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด stk์ ๋ง์ง๋ง ์์๋ฅผ stk์์ ์ ๊ฑฐํฉ๋๋ค.
: else {
stk.pop();
}
๐ก pop() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํ๊ณ ๊ทธ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
'๐ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ ์์ ํฉ (1) | 2024.04.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 6 (0) | 2024.04.01 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ์กฐ๊ฑด ๋ฌธ์์ด (0) | 2024.04.01 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฆฌ์คํธ ์๋ฅด๊ธฐ (0) | 2024.03.29 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] 2์ ์์ญ (0) | 2024.03.29 |