https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
1. 해결방법
"""
1. 아이디어
- input이 들어올 때, '-'를 기준으로 분리해서 배열에 저장한다.
- '-' 뒤에 붙은 문자들은 다시 '-'가 올 때까지 빼주어야 한다.
- 그러기 위해서는 '+'가 포함된 인덱스에서 다시 한번 분리해서 리스트화 한다.
"""
2. 정답코드
import sys
input = sys.stdin.readline
arr = input().split('-')
add_num = 0
for i in arr[0].split('+'):
add_num += int(i)
for i in arr[1:]:
for j in i.split('+'):
add_num -= int(j)
print(add_num)
본인만 그런지는 모르겠지만 그리디 문제가 왜이리 어려운지 모르겠다..
아마 익숙해지지 않아서 그런가? 실버 2문제도 왜이리 아이디어가 생각 안나는지, 나더라도 코드로 옮기는 방법에서 너무 헤매는 것 같다.. 일단 여러 문제를 접해봐야 할 것 같다.
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 16953. A → B (0) | 2022.09.05 |
---|---|
[BOJ] 13305. 주유소 (0) | 2022.09.05 |
[BOJ] 2470. 두 용액 (0) | 2022.09.04 |
[BOJ] 2805. 나무 자르기 (0) | 2022.09.04 |
[BOJ] 1654. 랜선 자르기 (0) | 2022.09.04 |