์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- history api
- position
- Gatsby
- ์๋ฐ์คํฌ๋ฆฝํธ
- REACT
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐ๋ธ์ฝ์ค
- ๋ธ๋ก๊ทธ
- Flex
- float
- ์๊ณ ๋ฆฌ์ฆ
- CSS
- useRef
- Props
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- ํ๋ก ํธ์๋
- ์ฝ๋ฉํ ์คํธ
- fetch API
- useEffect
- Today
- Total
Daehyunii's Dev-blog
์ ๋ง๋๊ธฐ(์๋ฃ๊ตฌ์กฐ-์คํ) ๋ณธ๋ฌธ
์ ๋ง๋๊ธฐ(์๋ฃ๊ตฌ์กฐ-์คํ)
Daehyunii 2022. 9. 2. 17:50์ฌ๋ฌ ๊ฐ์ ์ ๋ง๋๊ธฐ๋ฅผ ๋ ์ด์ ๋ก ์ ๋จํ๋ ค๊ณ ํ๋ค. ํจ์จ์ ์ธ ์์ ์ ์ํด์ ์ ๋ง๋๊ธฐ๋ฅผ ์๋์ ์ ์๋ก ๊ฒน์ณ ๋๊ณ , ๋ ์ด์ ๋ฅผ ์์์ ์์ง์ผ๋ก ๋ฐ์ฌํ์ฌ ์ ๋ง๋๊ธฐ๋ค์ ์๋ฅธ๋ค. ์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค.
• ์ ๋ง๋๊ธฐ๋ ์์ ๋ณด๋ค ๊ธด ์ ๋ง๋๊ธฐ ์์๋ง ๋์ผ ์ ์๋ค. - ์ ๋ง๋๊ธฐ๋ฅผ ๋ค๋ฅธ ์ ๋ง๋๊ธฐ ์์ ๋๋ ๊ฒฝ์ฐ ์์ ํ ํฌํจ๋๋๋ก ๋๋, ๋์ ์ ๊ฒน์น์ง ์๋๋ก ๋๋๋ค.
• ๊ฐ ์ ๋ง๋๊ธฐ๋ฅผ ์๋ฅด๋ ๋ ์ด์ ๋ ์ ์ด๋ ํ๋ ์กด์ฌํ๋ค.
• ๋ ์ด์ ๋ ์ด๋ค ์ ๋ง๋๊ธฐ์ ์ ๋์ ๊ณผ๋ ๊ฒน์น์ง ์๋๋ค.
์๋ ๊ทธ๋ฆผ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์๋ฅผ ๋ณด์ฌ์ค๋ค. ์ํ์ผ๋ก ๊ทธ๋ ค์ง ๊ตต์ ์ค์ ์ ์ ๋ง๋๊ธฐ์ด๊ณ , ์ ์ ๋ ์ด์ ์ ์์น, ์์ง์ผ๋ก ๊ทธ๋ ค์ง ์ ์ ํ์ดํ๋ ๋ ์ด์ ์ ๋ฐ์ฌ ๋ฐฉํฅ์ด๋ค.
์ด๋ฌํ ๋ ์ด์ ์ ์ ๋ง๋๊ธฐ์ ๋ฐฐ์น๋ ๋ค์๊ณผ ๊ฐ์ด ๊ดํธ๋ฅผ ์ด์ฉํ์ฌ ์ผ์ชฝ๋ถํฐ ์์๋๋ก ํํํ ์ ์๋ค.
1. ๋ ์ด์ ๋ ์ฌ๋ ๊ดํธ์ ๋ซ๋ ๊ดํธ์ ์ธ์ ํ ์ ‘( ) ’ ์ผ๋ก ํํ๋๋ค. ๋ํ, ๋ชจ๋ ‘( ) ’๋ ๋ฐ ๋์ ๋ ์ด์ ๋ฅผ ํํํ๋ค.
2. ์ ๋ง๋๊ธฐ์ ์ผ์ชฝ ๋์ ์ฌ๋ ๊ดํธ ‘ ( ’ ๋ก, ์ค๋ฅธ์ชฝ ๋์ ๋ซํ ๊ดํธ ‘) ’ ๋ก ํํ๋๋ค.
์ ์์ ๊ดํธ ํํ์ ๊ทธ๋ฆผ ์์ ์ฃผ์ด์ ธ ์๋ค.
์ ๋ง๋๊ธฐ๋ ๋ ์ด์ ์ ์ํด ๋ช ๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๋๋ฐ, ์ ์์์ ๊ฐ์ฅ ์์ ์๋ ๋ ๊ฐ์ ์ ๋ง๋๊ธฐ๋ ๊ฐ๊ฐ 3๊ฐ์ 2๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๊ณ , ์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฃผ์ด์ง ์ ๋ง๋๊ธฐ๋ค์ ์ด 17๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๋ค.
์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๊ดํธ ํํ์ด ์ฃผ์ด์ก์ ๋, ์๋ ค์ง ์ ๋ง๋๊ธฐ ์กฐ๊ฐ์ ์ด ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โฃ ์
๋ ฅ์ค๋ช
ํ ์ค์ ์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๊ดํธ ํํ์ด ๊ณต๋ฐฑ์์ด ์ฃผ์ด์ง๋ค. ๊ดํธ ๋ฌธ์์ ๊ฐ์๋ ์ต๋ 100,000์ด๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์๋ ค์ง ์กฐ๊ฐ์ ์ด ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์๋ฅผ ํ ์ค์ ์ถ๋ ฅํ๋ค.
โฃ ์ ๋ ฅ์์ 1
()(((()())(())()))(())
โฃ ์ถ๋ ฅ์์ 1
17
โฃ ์ ๋ ฅ์์ 2
(((()(()()))(())()))(()())
โฃ ์ถ๋ ฅ์์ 2
24
Tip
๋ฌธ์ ํ์ด
//๋ด๊ฐ ์์ฑํ ๋ต
function solution(string){
let answer= 0;
let stack = [];
for(let i = 0 ; i < string.length ; i++){
if(string[i] === '(') stack.push(string[i]);
else if(string[i] === ')'){
stack.pop();
if(string[i] !== string[i-1]) answer += stack.length;
else answer++;
}
}
return answer;
}
let string = '(((()(()()))(())()))(()())'
console.log(solution(string));
'๐ Language & CS knowledge > Algorithm (๊ธฐ์ด๋ฌธ์ ํ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ต์ก๊ณผ์ ์ค๊ณ(์๋ฃ๊ตฌ์กฐ-ํ) (0) | 2022.09.06 |
---|---|
๊ณต์ฃผ๊ตฌํ๊ธฐ(์๋ฃ๊ตฌ์กฐ-ํ) (0) | 2022.09.06 |
ํ์์ ์ฐ์ฐ(์๋ฃ๊ตฌ์กฐ-์คํ) (0) | 2022.09.02 |
๊ดํธ ๋ฌธ์ ์ ๊ฑฐ(์๋ฃ๊ตฌ์กฐ-์คํ) (0) | 2022.09.02 |
์ฌ๋ฐ๋ฅธ ๊ดํธ(์๋ฃ๊ตฌ์กฐ-์คํ) (0) | 2022.09.02 |