baekjoon 2750

윤동환·2023년 1월 8일
0

Algorithm

목록 보기
31/54
post-thumbnail

수 정렬하기

내가 작성한 코드

def find(num, arr):
    if len(arr) == 0:
        return 0
    for i in range(len(arr)):
        if arr[i] > num:
            return i
    return len(arr)
N = int(input())
arr = []
for i in range(N):
    num = int(input())
    j = find(num, arr)
    arr.insert(j, num)
for i in arr:
    print(i)

문제를 풀며 생각한 것

  • find()함수의 return 조건을 arr[i] < num으로 하기위해선 맨 뒤에 값부터 비교했어야 했다.
    -> 맨 앞에서 부터 비교하기 위해 조건을 바꾸어 주었다.
  • 일반적인 버블 정렬의 경우 배열 내에 앴는 값을 순차적으로 비교하며 정렬을 하지만, 이번 문제의 경우 배열을 구성하며
    )
  • arr[i] > num을 만족하지 않는 경우는 num이 배열에 들어있는 모든 수보다 큰 경우이다. 이때에는 arr의 마지막 인덱스 + 1의 값이 될 수 있는 len을 리턴해주었다.

결과

profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글