강의로 돌아가기
김진산

파이썬 내장함수를 이용해도 되나요?

출제자의 의도와 맞는지는 모르겠습니다만

첨부한 코드와 같은 방법을 사용했습니다.

정렬알고리즘을 사용해야하나요?

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
def solution(L, x):
    L.insert(0,x)
    L.sort()
    answer = L
    return answer

if __name__ == "__main__":
    solution(a,b)
1 개의 답변
이시윤

위에 예시한 코드가 실행하면 의도한 것과 같은 결과를 만들어 내기는 할 것입니다만, 문제에서 연습하려는 방법은 아닙니다.

구체적으로 언급하자면, L3 의 sort() 는 리스트의 길이가 n 이라고 할 때 n * log(n) 만큼의 복잡도 (이후 알고리즘의 복잡도 강의에서 대략의 내용을 배우게 됩니다) 를 가집니다. 반면, 리스트 L 이 이미 크기에 따라 정렬되어 있다는 성질을 이용하면 리스트의 길이 n 에 비례하는 복잡도의 알고리즘을 작성할 수 있습니다. 그렇게 하는 방법은, 앞에서부터 원소를 하나씩 꺼내어 삽입하려는 새로운 원소인 x 와 대소 관계를 비교함으로써 삽입할 위치를 찾는 방법입니다. (그것이 문제의 지문 힌트 에 제시한 방법입니다.)

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.