Sherry IT Blog

[programmers]정렬된 리스트에 원소 삽입_삽입정렬 본문

Python/coding test_Algorithm

[programmers]정렬된 리스트에 원소 삽입_삽입정렬

sherrylover 2021. 9. 15. 21:41
728x90
반응형

문제 설명

리스트 L 과 정수 x 가 인자로 주어질 때, 리스트 내의 올바른 위치에 x 를 삽입하여 그 결과 리스트를 반환하는 함수 solution 을 완성하세요.

인자로 주어지는 리스트 L 은 정수 원소들로 이루어져 있으며 크기에 따라 (오름차순으로) 정렬되어 있다고 가정합니다.

예를 들어, L = [20, 37, 58, 72, 91] 이고 x = 65 인 경우, 올바른 리턴 값은 [20, 37, 58, 65, 72, 91] 입니다.

힌트: 순환문을 이용하여 올바른 위치를 결정하고 insert() 메서드를 이용하여 삽입하는 것이 한 가지 방법입니다.

주의: 리스트 내에 존재하는 모든 원소들보다 작거나 모든 원소들보다 큰 정수가 주어지는 경우에 대해서도 올바르게 처리해야 합니다.

 

*내가 제출한 정답

 

def solution(L, x):
    answer = []
    if x > L[len(L)-1]: #리스트의 마지막 원소와  x(key값) 비교해서 키값이 더 크면 마지막에 삽입
        L.insert(len(L),x)
    else:
        for i in range(len(L)): #리스트의 크기만큼 for문
            if x <= L[i]:   #x(key)값이 리스트 원소값보다 작으면  65<72 해당인덱스에 값 삽입 
                L.insert(i,x)  #insert(인덱스,값)
                break
            else:   
                continue
    answer=L  #L리스트  answer리스트로 옮기기
    return answer

 

728x90
반응형
Comments