본문 바로가기

Algorithm & Data Structure

백준 - 15954번(정수론, 전체탐색)

728x90
반응형
import sys
import math
n,k = map(int, sys.stdin.readline().split())
arr = list(map(int, sys.stdin.readline().split()))
ans = []

def V(arr):
    av = sum(arr) / len(arr)
    temp = []
    for i in arr:
        t = (i - av) **2
        temp.append(t)
    a = sum(temp) / len(temp)
    ans.append(a)

for t in range(k,n+1):
    for p in range(len(arr) - t + 1):
        V(arr[p:p+t])

x = math.sqrt(min(ans))
print(x)

k개 뿐만아니라 k개 이상의 수를 모두 뽑아야 하는 부분을 놓쳤다.

python3 에서는 시간초과가 났지만 pypy3로 통과했다.

분산 구하는것을 함수로 만들어서 최대한 반복문을 적게 쓰려고 했지만 결과적으로 3중 반복문이 나왔다.

개선이 필요해 보인다.

728x90
반응형

'Algorithm & Data Structure' 카테고리의 다른 글

백준 - 1874번(스택)  (0) 2022.01.30
백준 - 4949번(스택, 전체탐색)  (0) 2022.01.29
백준 - 9375번  (0) 2022.01.27
백준 - 2981번  (0) 2022.01.25
백준 - 13305(그리디 알고리즘)  (0) 2022.01.25