본문 바로가기

코딩/백준

백준 1541 파이썬 그리디 생각해내기

반응형

백준 1541 - 잃어버린 괄호

문제

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

1541번

답안 코드 :

answer = 0
A = list(map(str, input().split("-")))

def mySum(i):
    sum = 0
    temp = str(i).split("+")
    for i in temp:
        sum += int(i)
    return sum

for i in range(len(A)):
    temp = mySum(A[i])
    if i == 0:
        answer += temp
    else:
        answer -= temp

print(answer)

생각 :

# 문제 분석
# 그리디를 생각하면 쉽게 풀 수 있을 듯?
# 가장 작은 최솟값 만드려면 가장 큰 값들을 뺴주면 될 듯
# 더하기 빼기로만 구성되어 있으니 더하기 부분에 괄호쳐서 모두 계산하고 빼기를 하자

# 문제 풀이
# 더하기 연산 먼저
# 가장 앞에 있는 값에서 더하기로 묶은 값들 빼주기

 

그리디 알고리즘 정리 블로그

https://mkisos.tistory.com/entry/%EA%B7%B8%EB%A6%AC%EB%94%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EA%B3%BC-%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84-%ED%81%90

 

그리디 알고리즘과 우선순위 큐

그리디 그리디 알고리즘은 현재 상태에서 볼 수 있는 선택지 중에 최선의 선택을 하는 알고리즘이다. 그리디 알고리즘은 동적 계획법보다 구현하기 쉽고 시간 복잡도가 우수하다. 하지만 항상

mkisos.tistory.com

 

반응형