728x90
반응형
Silver II
# 1541 잃어버린 괄호
그리디 알고리즘
링크 : https://www.acmicpc.net/problem/1541
풀이
a = input().split('-') # '-' 기준으로 분리
li = []
for i in a:
cnt = 0
i = i.split('+') # 각 i를 '+' 기준으로 분리
for j in i:
cnt += int(j) # 계산을 위해 숫자형으로 바꿔야 함
li.append(cnt)
n = li[0]
for i in range(1, len(li)):
n -= li[i]
print(n)
ex) input값이 a+b-c+d-e+f 일 때 예시
- 첫번째 괄호 묶음을 계산해 양수로, 나머지 괄호 묶음을 계산해 모두 음수로 처리하면 값을 구할 수 있다
- '-' 를 기준으로 분리하게 되면 (a+b), (c+d), (e+f)가 남는다.
- 그리디 알고리즘 문제 풀이에서 특정 변수와 리스트 공간을 만들고, for 문의 결과값을 만들어진 공간에 적용하는 방식으로 풀이되는 모습을 볼 수 있었다
※ 백준에서 주어지는 예제 말고도 예외사항이 있는 지 생각해가며 풀어야 한다
'Algorithm Study > Python' 카테고리의 다른 글
[코드업 파이썬] # 3019 스케줄 정리 (0) | 2021.12.12 |
---|---|
[코드업 파이썬] # 3015 성적표 출력 (0) | 2021.12.12 |
[백준 파이썬] # 1931 회의실 배정 (0) | 2021.12.09 |
[백준 파이썬] # 11047 동전 0 (0) | 2021.12.08 |
[백준 파이썬] 소수 문제 유형 정복하기 (0) | 2021.12.04 |