그리디

    백준 1541번 : 잃어버린 괄호 (Python)

    문제 : www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 풀이 숫자와 부호를 나누어 리스트를 만든다. (nums, chars) 주어진 부호는 +와 -밖에 없으므로 모든 +를 먼저 한 뒤에 나온 모든 수에 대해 -를 하면 최소값이 나온다. a-b+c가 있을 때 a-(b+c) = a-b-c가 되기 때문 chars에서 + 부호의 인덱스가 i라면 nums리스트에서 i와 i+1 인덱스의 값을 더해 nums[i]에 저장한다. 이때 이미 더해진 값임을 표시하기 위해..

    백준 11399번 : ATM

    문제 : www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이 가장 시간이 조금 걸리는 사람부터 기계를 쓰도록 한다. 가장 앞사람의 시간은 총 n번 더해지고 뒤로 갈수록 -1번씩 더해진다. n = int(input()) atm = list(map(int, input().split())) atm.sort() result = 0 for i in atm: result += i*n n -= 1 print(result)