01-09 18:44
Recent Posts
Recent Comments
Tags
- JOBํ๊ณ
- ์กํ๊ณ
- Java
- ์คํฝ๋ ํ
- ์จ์ผ๋ํ
- ICT
- DATABASE
- ํ์ด์๊ณต๋ชจ์
- Naver Cloud
- appetizer
- ํ์ด์
- ์๋์ด๋ ธ
- ์คํฝ์ค๋น
- ํ์ด์ฌ
- DB
- TSQL
- SQL
- mysql
- ict๊ณต๋ชจ์
- RaspberryPi
- Spring
- ํ๋ก๋ณด๋ ธ
- ์ด๋ธ์
- ICT๋ฉํ ๋ง
- linux
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- python
- API๋ง์ผํ๋ ์ด์ค
- ์๋ฐ
- Today
- Total
miinsun
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_39 ์ ๋ง๋๊ธฐ ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
์ฌ๋ฌ ๊ฐ์ ์ ๋ง๋๊ธฐ๋ฅผ ๋ ์ด์ ๋ก ์ ๋จํ๋ ค๊ณ ํ๋ค. ํจ์จ์ ์ธ ์์ ์ ์ํด์ ์ ๋ง๋๊ธฐ๋ฅผ ์๋์์ ์๋ก ๊ฒน์ณ ๋๊ณ ,
๋ ์ด์ ๋ฅผ ์์์ ์์ง์ผ๋ก ๋ฐ์ฌํ์ฌ ์ ๋ง๋๊ธฐ๋ค์ ์๋ฅธ๋ค. ์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ค.
• ์ ๋ง๋๊ธฐ๋ ์์ ๋ณด๋ค ๊ธด ์ ๋ง๋๊ธฐ ์์๋ง ๋์ผ ์ ์๋ค.
• ์ ๋ง๋๊ธฐ๋ฅผ ๋ค๋ฅธ ์ ๋ง๋๊ธฐ ์์ ๋๋ ๊ฒฝ์ฐ ์์ ํ ํฌํจ๋๋๋ก ๋๋, ๋์ ์ ๊ฒน์น์ง ์๋๋ก ๋๋๋ค.
• ๊ฐ ์ ๋ง๋๊ธฐ๋ฅผ ์๋ฅด๋ ๋ ์ด์ ๋ ์ ์ด๋ ํ๋ ์กด์ฌํ๋ค.
• ๋ ์ด์ ๋ ์ด๋ค ์ ๋ง๋๊ธฐ์ ์ ๋์ ๊ณผ๋ ๊ฒน์น์ง ์๋๋ค.
์๋ ๊ทธ๋ฆผ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์๋ฅผ ๋ณด์ฌ์ค๋ค.
๊ตต์ ์ค์ ์ ์ ๋ง๋๊ธฐ์ด๊ณ , ์ ์ ๋ ์ด์ ์ ์์น, ์์ง์ผ๋ก ๊ทธ๋ ค์ง ์ ์ ํ์ดํ๋ ๋ ์ด์ ์ ๋ฐ์ฌ ๋ฐฉํฅ์ด๋ค.
์ด๋ฌํ ๋ ์ด์ ์ ์ ๋ง๋๊ธฐ์ ๋ฐฐ์น๋ ๋ค์๊ณผ ๊ฐ์ด ๊ดํธ๋ฅผ ์ด์ฉํ์ฌ ์ผ์ชฝ๋ถํฐ ์์๋๋ก ํํํ ์ ์๋ค.
1. ๋ ์ด์ ๋ ์ฌ๋ ๊ดํธ์ ๋ซ๋ ๊ดํธ์ ์ธ์ ํ ์ ‘( ) ’ ์ผ๋ก ํํ๋๋ค.
๋ํ, ๋ชจ๋ ‘( ) ’๋ ๋ฐ๋์ ๋ ์ด์ ๋ฅผ ํํํ๋ค.
2. ์ ๋ง๋๊ธฐ์ ์ผ์ชฝ ๋์ ์ฌ๋ ๊ดํธ ‘ ( ’ ๋ก, ์ค๋ฅธ์ชฝ ๋์ ๋ซํ ๊ดํธ ‘) ’ ๋ก ํํ๋๋ค.
์ ์์ ๊ดํธ ํํ์ ๊ทธ๋ฆผ ์์ ์ฃผ์ด์ ธ ์๋ค.
์ ๋ง๋๊ธฐ๋ ๋ ์ด์ ์ ์ํด ๋ช ๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๋๋ฐ,
์ ์์์ ๊ฐ์ฅ ์์ ์๋ ๋ ๊ฐ์ ์ ๋ง๋๊ธฐ๋ ๊ฐ๊ฐ 3๊ฐ์ 2๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๊ณ ,
์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฃผ์ด์ง ์ ๋ง๋๊ธฐ๋ค์ ์ด 17๊ฐ์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๋ค.
์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๊ดํธ ํํ์ด ์ฃผ์ด์ก์ ๋, ์๋ ค์ง ์ ๋ง๋๊ธฐ ์กฐ๊ฐ์ ์ด ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ - ํ ์ค์ ์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๊ดํธ ํํ์ด ๊ณต๋ฐฑ์์ด ์ฃผ์ด์ง๋ค.
๊ดํธ ๋ฌธ์์ ๊ฐ์๋ ์ต๋ 100,000์ด๋ค.
์์ ์ ๋ ฅ 1)
()(((()())(())()))(())
์์ ์ ๋ ฅ 2)
(((()(()()))(())()))(()())
์ถ๋ ฅ - ์๋ ค์ง ์กฐ๊ฐ์ ์ด ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์๋ฅผ ํ ์ค์ ์ถ๋ ฅํ๋ค.
์์ ์ถ๋ ฅ 1)
17
์์ ์ถ๋ ฅ 2)
24
โ
๐ป Solution.java
import java.util.*;
public class Main {
public int solution(String s) {
int answer = 0;
s = s.replace("()", "*");
Stack<Character> stack = new Stack<>();
int lazer = 0;
for(char c : s.toCharArray()) {
if (c == ')') {
answer++;
while(stack.peek() != '(') {
answer++;
if(stack.peek() == '*') {
lazer++;
}
stack.pop();
}
stack.pop();
for(int i = 0; i < lazer; i++)
stack.push('*');
lazer = 0;
}
else {
stack.push(c);
}
}
return answer;
}
public static void main(String[] args){
Main main = new Main();
Scanner sc =new Scanner(System.in);
String s = sc.next();
System.out.println(main.solution(s));
sc.close();
return ;
}
}
์ถ์ฒ : ํ๊ตญ์ ๋ณด์ฌ๋ฆผํผ์๋
'Algorithm > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_41 ๊ต์ก ๊ณผ์ ์ค๊ณ (0) | 2022.01.10 |
---|---|
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_40 ๊ณต์ฃผ ๊ตฌํ๊ธฐ (0) | 2022.01.09 |
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_38 ํ์์ ์ฐ์ฐ(postfix) (0) | 2022.01.05 |
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_37 ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ(์นด์นด์ค) (0) | 2022.01.05 |
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_36 ๊ดํธ ๋ฌธ์ ์ ๊ฑฐ (0) | 2022.01.05 |
Comments