1541번 잃어버린 괄호 - https://www.acmicpc.net/problem/1541
(그리디 알고리즘)

접근 방법

1번 예제에서 볼 수 있듯이 - 기호가 나온 후 뒤의 값이 크면 클수록 값이 작아진다.
따라서 1번 예제에서 괄호는 55-(50+40)으로 나타난다.
그래서 split 함수를 이용하여 - 기준으로 값을 나눈 다음
+가 들어있는 숫자들을 먼저 계산해 준 다음 다 더해준다.
이때 첫번째 숫자는 무조건 +이기 때문에 마지막에 계산을 따로 해준다.
코드
처음에는 +가 들어있는 경우에만 split을 해주었으나 각 값을 int형으로 형변환을 해주어야 해서 모든 값을 for문으로 돌리는 코드로 수정하였다. 그리고 + 기호만 포함되어있을 경우를 위해 if문으로 len(expression)==1의 경우를 나누어 주었다가 그 과정도 아래의 코드로 모두 가능해서 제거하는 것으로 수정하였다.
expression = input().split('-')
for i in range(len(expression)):
expression[i] = sum(map(int, expression[i].split('+')))
print(-1*sum(expression[1:])+expression[0])
알고리즘 스터디 - 노션 기록
알고리즘 스터디
목표 : 1일 1알고리즘 문제 사용 언어 : Python3 / Oracle
mingxoxo.notion.site
'study > 알고리즘' 카테고리의 다른 글
[알고리즘/백준] 16401번 - 과자 나눠주기 (0) | 2022.08.06 |
---|---|
[알고리즘/백준] 7576번 토마토 (2) | 2022.06.14 |
[알고리즘/백준] 2775번 부녀회장이 될테야 (0) | 2022.04.09 |
[알고리즘/프로그래머스] 멀쩡한 사각형 (0) | 2022.03.02 |
[알고리즘] 정렬 알고리즘 (0) | 2022.02.23 |