SWE 4869 종이붙이기
아이디어
어떻게 접근해야 할지 잘 모르겠다. N이 10일 때는 1개 / N이 20일 때는 3개 / N이 30일 때는 5개이다. 이 문제는 분명히 규칙 찾기다.
규칙을 못 찾겠네. -> 찾아야 점화식을 만든다. -> 찾았네. 40일 때, 값이 8인 줄 알았는데 11이다.
코드
def sum(n):
f = [0, 1]
for i in range(2, n+1):
if(i % 2 == 0): # 짝수면
f.append(f[i-1]*2+1)
else:
f.append(f[i-1]*2-1)
return f[n]
if __name__ == "__main__":
TC = int(input())
for tc in range(1, TC + 1):
N = int(input())//10
print('#%s %s' % (tc, sum(N)))
시간을 잡아 먹는 점
왜 안풀리는 거냐고 씩씩대며.. 계속 몫을 구하는 연산자를 사용하고 있었다. 시간이 간다고 조급해 하지말자 ..
참고자료