반응형
나의 제출
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String S = br.readLine();
char[] arr = S.toCharArray();
Stack<Character> stack = new Stack<>();
int closeCnt = 0;
for (int i=0; i<arr.length; i++) {
if (Character.isDigit(arr[i])) {
if (i+1 < arr.length && arr[i+1] == '(') {
stack.push(arr[i]);
} else {
if (closeCnt > 0) {
stack.add(stack.size() - 1 - closeCnt, 'c');
closeCnt = 0;
} else {
stack.push('c');
}
}
} else {
if (arr[i] == ')') {
closeCnt++;
}
}
}
int length = 0;
while (!stack.isEmpty()) {
Character ch = stack.pop();
if (ch == 'c') {
length++;
} else {
length *= Character.getNumericValue(ch);
}
}
bw.write(Integer.toString(length));
bw.flush();
bw.close();
}
}
반응형
'Java' 카테고리의 다른 글
엘리스 알고리즘 코드 챌린지 Day5(07월 12일) - Java (0) | 2024.07.12 |
---|---|
엘리스 알고리즘 코드 챌린지 Day4(07월 11일) - Java (0) | 2024.07.11 |
엘리스 알고리즘 코드 챌린지 Day2(07월 09일) - Java (0) | 2024.07.09 |
엘리스 알고리즘 코드 챌린지 Day1(07월 08일) - Java (1) | 2024.07.08 |