Loading...
2021. 8. 3. 22:49

프로그래머스 Weekly Challnege

# 갑자기 프로그래머스에서 새로운 컨텐츠를 실시한다고 메일이 와서 들어가 보았다. # 이번 주 부터 프로그래머스에서 새로 실시하는 Weekly Challenge이다. 그냥 심심풀이로 매주 한 문제씩 풀면 좋을 것 같다. # 1주차 https://programmers.co.kr/learn/courses/30/lessons/82612?language=python3 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr def solution(price, money, count): answer = price *..

2021. 5. 18. 23:04

피보나치 수열의 시간복잡도는 왜 θ(1.618의 N제곱)일까

# 최근에 나동빈 저자의 "이것이 취업을 위한 코딩테스트다 with 파이썬"를 보다가 궁금증이 생겼다. 예전에 문제풀 때는 일단 실력을 끌어 올리는 것에 중점을 둬서 그냥 외우고 넘어갔지만, 다시 한번 복습하는 차원에서 여유롭게 읽어보니 깊게 생각해 봐도 될 부분들이 많았다. # 다이나믹 프로그래밍 Chapter에서 단골손님으로 나오는 '피보나치 수열'에서 피보나치 수열의 시간복잡도가 정확히 따지면 θ(1.618...N)이라는 것이다. 일반적으로 피보나치 수열의 시간복잡도는 세타 표기법으로 표시하지 않고 빅오 표기법으로 O(2N)으로 표시를 한다. # 궁금해서 인터넷을 찾아보니 피보나치 수열의 일반항 Fn을 다음과 같이 나타낼 수 있다. # 증명은 아래와 같은데, 증명까지 외울 필요는 없고 그냥 왜 이런..

2020. 2. 12. 14:21

Python 시간복잡도, 코드시간측정

# 파이썬으로 여러문제를 풀다보면 시간초과가 나는 일이 많이 발생한다. (파이썬은 편리함과 효율성을 맞바꾼 언어라고 누가 그러더라..) 그래서 백준에서는 파이썬으로 채점할 때 (제한시간*3+2)초 이런식으로 시간을 늘려주기는 한다. 그렇지만 항상 코드를 짜면서 내장함수를 사용할때마다 '이 함수는 O(n)인가? O(1)인가?' 이런 고민들을 하게 된다. 1. https://wiki.python.org/moin/TimeComplexity TimeComplexity - Python Wiki This page documents the time-complexity (aka "Big O" or "Big Oh") of various operations in current CPython. Other Python imp..