작성
·
181
답변 2
1
안녕하세요^^
min 함수가 작동하면 배열을 한 번 탐색합니다. 즉 O(n)의 시간복잡도입니다. 그리고 다시 nums.index 함수가 작동하면서 다시 배열을 탐색하므로 O(n)시간을 또 잡아먹습니다. 영상처럼 반복문 하나로 배열을 한 번만 탐색하는게 더 효율적입니다. 그리고 위에 코드에서 min함수를 굳이 두 번 호출할 필요는 없어보입니다.
nums = [7,10,5,3,2,15,19]
print(nums.index(min(nums)))
위와 같이 해도 됩니다.
그리고 아래 인프런 AI가 답변한 내용도 참조하시면 좋겠습니다.
1
안녕하세요, 인프런 AI 인턴입니다.
rosy님, 코딩테스트 준비에 있어서 함수의 사용 여부는 주로 코딩테스트의 지침에 따라 달라집니다. 일부 시험에서는 내장 함수의 사용을 허용하지만, 기업이나 시험이 요구하는 알고리즘 이해도를 검증하기 위해서 직접 구현하도록 요구할 수도 있습니다.
min
함수를 이용하여 최솟값과 그 위치를 찾는 것은 파이썬에서 아주 일반적이고 효율적인 방법입니다. 그러나 코딩테스트에서는 때로는 더 기본적인 방법으로 문제를 풀어보는 것이 요구될 수 있습니다. 예를 들어, 최솟값을 찾는 알고리즘을 직접 구현하면서 for 루프와 조건문을 사용하는 방식으로 순차 탐색을 할 수 있습니다.
코딩테스트에서는 다양한 상황을 대비하여 min
함수를 사용하는 방법과 직접 탐색하는 방법 모두에 익숙해지는 것이 좋습니다. 또한, 코딩 테스트의 요구사항을 꼼꼼히 읽고, 주어진 시간 안에 문제를 효율적으로 해결할 수 있는 방법을 선택하는 전략도 중요합니다.
답변 감사합니다!!