qsccsq22   1년 전

33퍼에서 시간 초과가 뜨는데 아래 코드에서 바꿔야 할 부분이 있을까요?

bamgoesn   1년 전

13~14행의 리스트를 뒤집는 과정의 시간복잡도가 리스트의 길이 N에 대해 O(N)입니다. 초기 리스트의 크기가 최대 100,000이고, 수행해야 하는 연산의 횟수는 최대 100,000입니다. 만약 초기 배열의 길이가 10만이고 수행해야 하는 연산이 RRRRRRRRRRR...로 10만 회라면 시간 내로 코드가 돌 수 있을까요?

bamgoesn   1년 전

추가로 리스트에 대해 pop(0)을 사용하셨네요. 리스트는 첫 번째 원소가 컴퓨터 메모리 상에서 위치가 고정되어 있고, 그 뒤로 원소가 차례로 나열된 형태로 구현되어 있습니다. 이때 첫 번째 원소의 위치는 임의로 바꿀 수 없기 때문에, 첫 번째 원소를 꺼내는 pop(0)을 호출하면 첫 번째 원소를 제거한 후 그 뒤의 원소를 전부 일일이 한 칸씩 앞으로 당깁니다. 원소를 당기는 것도 연산이기 때문에 여기서 시간복잡도 O(N)의 시간이 걸립니다.

댓글을 작성하려면 로그인해야 합니다.