π·πΌλͺ¨μ¬λ΄μ κ°λ°μμ²π·πΌ
[JAVA/μ½λ©ν μ€νΈ] μ λ§λκΈ° λ³Έλ¬Έ
[JAVA/μ½λ©ν μ€νΈ] μ λ§λκΈ°
μμΌμ΄ 2021. 6. 12. 15:25μ€λͺ
μ¬λ¬ κ°μ μ λ§λκΈ°λ₯Ό λ μ΄μ λ‘ μ λ¨νλ €κ³ νλ€. ν¨μ¨μ μΈ μμ μ μν΄μ μ λ§λκΈ°λ₯Ό μλμμ μλ‘ κ²Ήμ³ λκ³ ,
λ μ΄μ λ₯Ό μμμ μμ§μΌλ‘ λ°μ¬νμ¬ μ λ§λκΈ°λ€μ μλ₯Έλ€. μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ λ€μ 쑰건μ λ§μ‘±νλ€.
• μ λ§λκΈ°λ μμ λ³΄λ€ κΈ΄ μ λ§λκΈ° μμλ§ λμΌ μ μλ€. - μ λ§λκΈ°λ₯Ό λ€λ₯Έ μ λ§λκΈ° μμ λλ κ²½μ° μμ ν ν¬ν¨λλλ‘ λλ,
λμ μ κ²ΉμΉμ§ μλλ‘ λλλ€.
• κ° μ λ§λκΈ°λ₯Ό μλ₯΄λ λ μ΄μ λ μ μ΄λ νλ μ‘΄μ¬νλ€.
• λ μ΄μ λ μ΄λ€ μ λ§λκΈ°μ μ λμ κ³Όλ κ²ΉμΉμ§ μλλ€.
μλ κ·Έλ¦Όμ μ 쑰건μ λ§μ‘±νλ μλ₯Ό 보μ¬μ€λ€. μνμΌλ‘ κ·Έλ €μ§ κ΅΅μ μ€μ μ μ λ§λκΈ°μ΄κ³ , μ μ λ μ΄μ μ μμΉ,
μμ§μΌλ‘ κ·Έλ €μ§ μ μ νμ΄νλ λ μ΄μ μ λ°μ¬ λ°©ν₯μ΄λ€.
μ΄λ¬ν λ μ΄μ μ μ λ§λκΈ°μ λ°°μΉλ λ€μκ³Ό κ°μ΄ κ΄νΈλ₯Ό μ΄μ©νμ¬ μΌμͺ½λΆν° μμλλ‘ ννν μ μλ€.
1. λ μ΄μ λ μ¬λ κ΄νΈμ λ«λ κ΄νΈμ μΈμ ν μ ‘( ) ’ μΌλ‘ ννλλ€. λν, λͺ¨λ ‘( ) ’λ λ° λμ λ μ΄μ λ₯Ό νννλ€.
2. μ λ§λκΈ°μ μΌμͺ½ λμ μ¬λ κ΄νΈ ‘ ( ’ λ‘, μ€λ₯Έμͺ½ λμ λ«ν κ΄νΈ ‘) ’ λ‘ ννλλ€.
μ μμ κ΄νΈ ννμ κ·Έλ¦Ό μμ μ£Όμ΄μ Έ μλ€.
μ λ§λκΈ°λ λ μ΄μ μ μν΄ λͺ κ°μ μ‘°κ°μΌλ‘ μλ €μ§λλ°, μ μμμ κ°μ₯ μμ μλ λ κ°μ μ λ§λκΈ°λ κ°κ° 3κ°μ 2κ°μ μ‘°κ°μΌλ‘ μλ €μ§κ³ ,
μ΄μ κ°μ λ°©μμΌλ‘ μ£Όμ΄μ§ μ λ§λκΈ°λ€μ μ΄ 17κ°μ μ‘°κ°μΌλ‘ μλ €μ§λ€.
μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ μ£Όμ΄μ‘μ λ, μλ €μ§ μ λ§λκΈ° μ‘°κ°μ μ΄ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯ | μΆλ ₯ |
ν μ€μ μ λ§λκΈ°μ λ μ΄μ μ λ°°μΉλ₯Ό λνλ΄λ κ΄νΈ ννμ΄ κ³΅λ°±μμ΄ μ£Όμ΄μ§λ€. κ΄νΈ λ¬Έμμ κ°μλ μ΅λ 100,000μ΄λ€. | μλ €μ§ μ‘°κ°μ μ΄ κ°μλ₯Ό λνλ΄λ μ μλ₯Ό ν μ€μ μΆλ ₯νλ€. |
μμ μ λ ₯1 | μμ μΆλ ₯1 |
()(((()())(())()))(()) | 17 |
μμ μ λ ₯2 | μμ μΆλ ₯2 |
(((()(()()))(())()))(()()) | 24 |
import java.util.*;
public class Main {
public void solution(String str) {
// κ²°κ³Ό
int result = 0;
// μ λ§λκΈ° μ
int count = 0;
Stack <Character> stack = new Stack<>();
for(char x : str.toCharArray()) {
if(x == '(') {
count += 1;
stack.push(x);
}else {
count -= 1;
// λ μ΄μ
if(stack.peek() == '(') {
result += count;
// κΈΈμ΄κ° λλ¬μλ
}else {
result += 1;
}
stack.push(x);
}
}
System.out.println(result);
}
public static void main(String args[]) {
Main main = new Main();
Scanner in= new Scanner(System.in);
String str = in.nextLine();
main.solution(str);
}
}
'κ°λ° > μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA/μ½λ©ν μ€νΈ] μ νμ λ ¬ (0) | 2021.06.18 |
---|---|
[JAVA/μ½λ©ν μ€νΈ] κ΅μ‘κ³Όμ μ€κ³ (0) | 2021.06.14 |
[JAVA/μ½λ©ν μ€νΈ] νμμ μ°μ°(postfix) (0) | 2021.06.06 |
[JAVA/μ½λ©ν μ€νΈ] κ΄νΈλ¬Έμμ κ±° (0) | 2021.05.26 |
[JAVA/μ½λ©ν μ€νΈ] μ¬λ°λ₯Έ κ΄νΈ (0) | 2021.05.26 |