본문 바로가기

Algorithm/BOJ

[BOJ] 1541. 잃어버린 괄호

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