์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ฌธ์์ด
- ์ฟ ํกDB
- ์ฐ
- ๋ฐฑ์ค9012
- ์ฐ์ฐ์
- ๋ฐฐ์ด
- StringBuilder
- ์๋ฐ
- StringBuffer
- ๋ฐ์ดํฐํ์
- ์ฟ ํกERD
- ๋
- java
- ๋ฐฑ์ค9093
- ๋ฐฑ์ค1874
- ์คํ
- stream
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ์
- ์คํธ๋ฆผ
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์คํ์์ด
- Today
- Total
Tech Log ๐ ๏ธ
๋ฐฑ์ค 10799๋ฒ) ์ ๋ง๋๊ธฐ java ๋ณธ๋ฌธ
๋ถ์
๋ฌธ์ ์ ์๋ ์กฐ๊ฑด๋ค์ ์ ํ์ฉํด์ผํ๋ค.
1. ์ ๋ง๋๊ธฐ๋ ์์ ๋ณด๋ค ๊ธด ์ ๋ง๋๊ธฐ ์์๋ง ๋์ผ ์ ์๋ค.
-> ์ ๋ง๋๊ธฐ๋ฅผ ํํํ๋ ๊ดํธ๊ฐ ์๋ก ๊ฒน์น์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
2. ๊ฐ ์ ๋ง๋๊ธฐ๋ฅผ ์๋ฅด๋ ๋ ์ด์ ๋ ์ ์ด๋ ํ๋ ์กด์ฌํ๋ค.
-> ์ ๋ง๋๊ธฐ๋ ์ ์ด๋ ๋๊ฐ ์ด์์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง๋ค.
3. ๋ ์ด์ ๋ ์ด๋ค ์ ๋ง๋๊ธฐ์ ์ ๋์ ๊ณผ๋ ๊ฒน์น์ง ์๋๋ค.
-> ์ ๋ง๋๊ธฐ์ ๋์ ๋ํ๋ด๋ ๊ดํธ๊ฐ ํผ๋ ๋ฐฉ์ง , ์ ์ด๋ ๋ ์ด์์ ์กฐ๊ฐ์ผ๋ก ์๋ ค์ง์ ์๋ฏธ
๋ฌธ์ ์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ํ์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค.
๋จผ์ ์์๋ฅผ ์ดํด๋ณด๋ฉด
๋ ์ด์ ๊ฐ ์ฒ์์ผ๋ก ๋ง๋๊ธฐ๋ฅผ ์๋ฅด๋ฉด 1๋ฒ ์์ญ์์ 3๊ฐ์ ์กฐ๊ฐ์ด ์๊ธด๋ค.
2๋ฒ ์์ญ์์ ์๋ฅด๊ฒ ๋๋ฉด ๋ค์ 3๊ฐ์ ์กฐ๊ฐ์ด ์๊ธด๋ค.
3๋ฒ ์์ญ์์๋ ๋๋ฉด ๋ฐ์ ๋๊ฐ๋ ์๋ฆฌ์ง ์๊ณ ๋งจ ์ ๋ง๋๊ธฐ๋ง 1์กฐ๊ฐ์ด ๋ ์๊ธด๋ค.
์ฌ๊ธฐ์ ํจํด์ ๋ฐ๊ฒฌํ ์ ์๋๋ฐ , '(' ๊ฐ ์ ๋ ฅ์ด ๋๋ฉด ๋ ์ด์ ๊ฐ ๋ค์ด์ฌ๋ ์๊ธฐ๋ ์กฐ๊ฐ์ด ํ๋์ฉ ๋์ด๋๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ง๋๊ธฐ๊ฐ ๋๋ฌ์๋๋ ๊ฐ์ฅ ์งง์ ์ ๋ง๋๊ธฐ ์กฐ๊ฐ์ด ํ ์กฐ๊ฐ ๋ ์๊ธฐ๋ ๊ฒ์ด๋ค.
์ด๋ฐ์์ผ๋ก ์ญ ์ด์ด๊ฐ๋ฉด
3+3+1+3+1+2+2+2 = 17
๊ฒฐ๊ณผ์ ์ผ๋ก 17 ์กฐ๊ฐ์ด ๋์จ๋ค.
์คํ์ ์ด์ฉํ์ฌ ๋ค์ ์ค๋ช ํด๋ณด๋ฉด ,
1. '(' ์ด ์ ๋ ฅ์ด ๋๋ฉด ์คํ์ push๋ฅผ ํด์ค๋ค.
2. ๋ ์ด์ ๊ฐ ์ ๋ ฅ๋๋ฉด ์คํ ์ฌ์ด์ฆ๋งํผ ์กฐ๊ฐ์๋ฅผ ๋ํด์ค๋ค.
3. ์ ๋ง๋๊ธฐ๊ฐ ๋๋๋ฉด ์กฐ๊ฐ์๋ฅผ +1 ํด์ฃผ๊ณ ํด๋น ๋ง๋๊ธฐ์ ํด๋นํ๋ ์ ๋ง๋๊ธฐ๋ฅผ popํด์ค๋ค.
์์ค์ฝ๋
import org.w3c.dom.ls.LSOutput;
import javax.swing.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
Stack<Character> s = new Stack<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int result = 0;
for(int i=0;i<str.length();i++){
if(str.charAt(i) == '('){
s.push(str.charAt(i));
}
else if(str.charAt(i) == ')' & str.charAt(i-1) == '('){
s.pop();
result += s.size();
}
else{
s.pop();
result += 1;
}
}
System.out.println(result);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 2225๋ฒ) ํฉ๋ถํด java (0) | 2023.02.22 |
---|---|
๋ฐฑ์ค1463๋ฒ ์๊ฐ ์ด๊ณผ ๋ ์ด์ (0) | 2023.02.18 |
๋ฐฑ์ค 1874๋ฒ) ์คํ ์์ด java (0) | 2023.01.17 |
๋ฐฑ์ค 9012) ๊ดํธ ๋ฌธ์ ๋ฅผ ํธ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ (0) | 2023.01.15 |
๋ฐฑ์ค9093) ๋จ์ด ๋ค์ง๊ธฐ๋ฅผ ํธ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ (0) | 2023.01.14 |