본문 바로가기
반응형

알고리즘/그리디30

[백준][Python] 20365번 블로그2 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 코드 n = int(input()) n_list = input() color = [0,0] if n_list[0] == 'R': color[0]+=1 else: color[1]+=1 for i in range(1,n): if n_list[i] == 'R': if n_list[i-1] != n_list[i]: color[0]+=1 elif n_list[i] == 'B': if n_list[i-1] != n_list[i]: color[1]+=1 print(min(c.. 2022. 4. 6.
[백준][Python] 1541번 잃어버린 괄호 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 코드 a = input().split('-') n_list = [] for i in a: b = i.split('+') num = 0 for j in b: num += int(j) n_list.append(num) ans = n_list[0] for i in range(1,len(n_list)): ans -= n_list[i] print(ans) 설명 마이너스를 기준으로 괄호를 치는 것이 가장 최솟값을 만들 수 있다. 그래서 우선 수식을 ' - '를 기준으.. 2022. 4. 5.
[백준][Python] 11047번 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 import sys n_list = [] n, k = map(int,sys.stdin.readline().split()) for _ in range(n): num = int(sys.stdin.readline()) n_list.append(num) ans = 0 n_list.sort(reverse=True) for i in n_list: if k >= i: ans += k//i k = k%i pr.. 2022. 4. 1.
[백준][Python] 20300 서강근육맨 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 코드 import sys n = int(input()) n_list = list(map(int,sys.stdin.readline().split())) n_list.sort() max = 0 if n%2 == 0: for i in range(n//2): num = n_list[i]+n_list[-1-i] if num > max: max = num else: for i in range(n//2): num = n_list[i]+n_list[-2-i] if num > max: max = n.. 2022. 3. 31.
반응형