[코딩 공부+] 7일차(2/19)

성철민·2023년 2월 19일
0

배움

목록 보기
7/42

서울 가는 길에 KTX에서 문제 풀기

Schedule1. BAEKJOON

파이썬 문제 풀어보기

단계별로 풀어보기('9단계. 2차원 배열' 도전중)


2750번. 수 정렬하기

개요: N개의 수를 오름차순으로 정렬하는 문제

접근방법: N번만큼 반복문으로 리스트에 정렬하고자 하는 수를 담고 퀵 정렬을 이용해 수를 정렬한다.

정답

def arrange_num(list):
  if len(list) < 2:
    return list

  pivot = len(list) // 2
  front_arr = []
  pivot_arr = []
  back_arr = []
  for value in list:
    if value < list[pivot]:
      front_arr.append(value)
    elif value > list[pivot]:
      back_arr.append(value)
    else:
      pivot_arr.append(value)

  return arrange_num(front_arr) + arrange_num(pivot_arr) + arrange_num(back_arr)

N = int(input())
array = []
for _ in range(N):  # 입력받은 N개 만큼 반복문으로 array의 요소값을 받음
  array.append(int(input()))

print(*arrange_num(array), sep='\n')
  • print(*list, sep='\n')를 이용하면 리스트의 모든 값을 한줄에 하나씩 출력할 수 있다.
  • 정렬 알고리즘에 대한 전체적인 정리가 필요할 것 같다.
profile
developer

0개의 댓글