SWE(4869)_종이붙이기

SWE 4869 종이붙이기

아이디어

어떻게 접근해야 할지 잘 모르겠다. N이 10일 때는 1개 / N이 20일 때는 3개 / N이 30일 때는 5개이다. 이 문제는 분명히 규칙 찾기다.

규칙을 못 찾겠네. -> 찾아야 점화식을 만든다. -> 찾았네. 40일 때, 값이 8인 줄 알았는데 11이다.

No Image

코드

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)))

시간을 잡아 먹는 점

왜 안풀리는 거냐고 씩씩대며.. 계속 몫을 구하는 연산자를 사용하고 있었다. 시간이 간다고 조급해 하지말자 ..


참고자료

0%