반응형
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다.
www.acmicpc.net
임의로 숫자를 써보았습니다.
3+2-3+4-3-3+4+5+3-4 이런 경우에
3+2-(3+4)-3-(3+4+5+3)-4 이렇게 계산한 것의 결과를 구해야 합니다.
그래서
1. 첫번째 -가 나오기 전까지 숫자들을 모두 더하고
2. 이후엔 -로 구분하여 사이의 숫자들을 모두 더하였습니다.
- 추가적으로 문자열을 숫자로 바꿔주는 작업이 필요했습니다.
푸는 과정에서 "java.util.regex.PatternSyntaxException: Dangling meta character" 에러가 있었는데
'+', '[', ']', '(', ')' 의 문자열에서는 앞에 \\을 붙여야 한다는 걸 알게되었습니다. (참고)
적절한 변수명이 생각나지 않아 떠오르는대로 써서 가독성이 떨어지는 것 같습니다.
반응형
'Algorithm' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 Level2 - 멀쩡한 사각형 [ Java ] (0) | 2020.01.17 |
---|---|
프로그래머스 코딩테스트 연습 Level2 - 기능개발 [ Java ] (0) | 2020.01.16 |
백준 11399번 ATM [ Java ] (0) | 2020.01.13 |
백준 1931번 회의실배정 [ Java ] (0) | 2020.01.12 |
백준 5086번 배수와 약수 [ Java ] (0) | 2020.01.09 |