건물의 수를 n이라 하고
한 건물 i가 cool해지기 위해 쌓아야 하는 층수를 M(i)라고 하자
양쪽 끝을 제외하고 각 M(i)의 값을 넣은 list를 H라고 하고
H 중 0번째에서 시작해서 짝수번째만 갖다놓은 list를 H0, 홀수번째를 H1이라고 하자
파이썬식으로 나타내면
def v(i):
return sum(H0[:i])+sum(H1[i:])
m=min([v(i)for i in range(n//2-1)])
의 m값이 최소가 되는 거 아님?
여기서 틀린 부분이 있나
i를 n까지 다 돌려야하는거 아님?
H를 양쪽 끝 자르고 홀수랑 짝수로 나누면 길이가 각각 n//2-1이 되어서
당장 건물 1234일때 3 선택하는 경우만 체크되는거같은데 아닌가?
아 인덱스 범위에 문제가 있나 다시 봐야겠다
끝까지 다 짝수번째 건물만 세울수도 있자너
ㅇㅇ 그건 i가 0일때
아아 0이 아니라 맨 끝일 때
아 그래서 틀렸나 ㅁㅊ
해당 댓글은 삭제되었습니다.
10 1 2 1 2 1 2 1 2 1 2 일 경우에 답인 0이 안나올듯?
그거 예외처리를 해줬는데.. 그래도 총체적 난국이네 하튼 ㄱㅅ
뭔가 로직에 결함이 있는데 예외처리로 때웠다->매우 높은확률로 망함
cool로 만들때 1 아닐때 0이라할떼 0101..0101 1001..0101 .. 1010..1010 식으로 경우마다 답 최소로 갱신해주면 브루트포스로도 통과되던데