๐ค ์์งlog ๐ค
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 6 ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 6
Eun_zii 2024. 4. 1. 18:09ํ๋ก๊ทธ๋๋จธ์ค Lv.0
- ๋ฐฐ์ด ๋ง๋ค๊ธฐ 6
๐ ๋ฌธ์ ์ค๋ช
๐ ์ ํ์กฐ๊ฑด
- 1 ≤ arr์ ๊ธธ์ด ≤ 1,000,000
- arr์ ์์๋ 0 ๋๋ 1 ์ ๋๋ค.
๐ ํ์ด
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.pop(arr[i++]);
} else if ( stk[stk.length -1] !== arr[i] ) {
stk.push(arr[i++])
}
}
return stk.length > 0 ? stk : [-1];
}
โ
๋ฐฐ์ด ๋ง๋ค๊ธฐ 4 ํ๊ณ ๋ฐ๋ก ์ด ๋ฌธ์ ํ์ด๋ณด์๋ค ๐ฅ
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]์ ๊ฐ์ผ๋ฉด stk์ ๋ง์ง๋ง ์์๋ฅผ stk์์ ์ ๊ฑฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
: if ( stk[stk.length -1] === arr[i] ) {
stk.pop(arr[i++]);
}
stk์ ์์๊ฐ ์๋๋ฐ stk์ ๋ง์ง๋ง ์์๊ฐ arr[i]์ ๋ค๋ฅด๋ฉด stk์ ๋งจ ๋ง์ง๋ง์ arr[i]๋ฅผ ์ถ๊ฐํ๊ณ i์ 1์ ๋ํฉ๋๋ค.
: if ( stk[stk.length -1] !== arr[i] ) {
stk.push(arr[i++])
}
๋ง์ฝ ๋น ๋ฐฐ์ด์ return ํด์ผํ๋ค๋ฉด [-1]์ return ํฉ๋๋ค.
: stk.length > 0 ? stk : [-1]
'๐ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฌธ์์ด ์ฌ๋ฌ ๋ฒ ๋ค์ง๊ธฐ (1) | 2024.04.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ ์์ ํฉ (1) | 2024.04.01 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋ง๋ค๊ธฐ 4 (1) | 2024.04.01 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ์กฐ๊ฑด ๋ฌธ์์ด (0) | 2024.04.01 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฆฌ์คํธ ์๋ฅด๊ธฐ (0) | 2024.03.29 |