그리디알고리즘 3

[16678] 모독 In python

https://www.acmicpc.net/problem/16678 문제에서 주어진 그대로 for문을 사용하여 구현하였으나 시간초과 흠... 그럼 어찌해야하나.. n = int(input()) array = sorted(list(int(input()) for _ in range(n))) answer = 0 for num in range(n): array = [array[i] - 1 for i in range(n)] if array[num] >= 1: answer += array[num] print(answer) 변수 t를 이용하여 손쉽게 해결할 수 있었다. t가 모든 국회의원을 모독해서 각각의 명예 점수를 1씩 감소시키는 데 사용되는 변수다. n = int(input()) array = sorted(li..

[n19941] 햄버거 분배 in python

최대한 왼쪽에 있는 값을 선택하게끔 해줘야 한다. 사실 idx 처리하는 부분에 있어서 고민을 좀 했는데 for문 안에 max, min 함수를 이용하면 손쉽게 처리가 가능하다는 것을 알게 되었다. n, k = map(int, input().split()) array = list(input()) answer = 0 for i in range(n): if array[i] == "P": # 사람 for j in range(max(i - k, 0), min(n, i + k + 1)): if array[j] == "H": answer += 1 array[j] = 0 break print(answer)