[24051번] 알고리즘 수업 - 삽입 정렬1

황성미·2023년 7월 28일
0

백준

목록 보기
6/6
post-custom-banner


import sys

N, K = map(int, sys.stdin.readline().split())
nums = list(map(int, sys.stdin.readline().split()))

def insertion_sort(arr):

  count = -1
  answer = -1
  n = len(arr)

  for i in range(1, n):
    key = arr[i]  # 현재 원소를 선택하여 삽입할 값으로 설정
    j = i - 1

    # 이미 정렬된 부분 배열에서 삽입할 위치를 찾아나감
    while j >= 0 and key < arr[j]:
      arr[j + 1] = arr[j]  # 더 큰 값을 오른쪽으로 이동

      count += 1
      # print(count)
      # print(f'{arr[j + 1]}, {j + 1}')
      # print(f'arr2 : {arr}')

      if count == K:
        answer = f'{arr[j+1]}'
      j -= 1

    arr[j + 1] = key  # 삽입할 위치에 원소를 삽입
    count += 1
    # print(count)
    # print(f'{key}, {j+1}')
    # print(f'arr3 : {arr}')

    if count == K:
      answer = f'{key}'
  print(answer)

insertion_sort(nums)

프로그램은 정답에 맞게 돌아가는데.. 도대체 어디가 틀린지 못 찾은 코드..🤯
나중에 성공하면 다시 코드 올려둬야지.

profile
데이터 분석가(가 되고픈) 황성미입니다!
post-custom-banner

0개의 댓글