[BOJ] 10413. 줄 세우기(python)

레몬커드요거트·2026년 2월 1일

코딩테스트준비

목록 보기
17/66
post-thumbnail

성공

나보다 앞에 있는 사람들까지 루프 돌면서 나보다 큰 사람 있으면 그 앞으로 이동하는 것이었음
근데, 맨 처음으로 이동하는 것으로 잘못 생각하였음

N = int(input())

def sortStudent(arr):
  cnt = 0
  for i in range(1, 20):
    for j in range(0, i):
      # 나보다 앞에 있는 큰 사람들 중에서 가장 앞에 있는 사람에 넣는 것임
      if (arr[j] > arr[i]):
        tmp = arr[i]
        arr.pop(i)
        arr.insert(j, tmp)
        return (i - j) + sortStudent(arr)
      
  return 0

for _ in range(N):
  arr = list(map(int, input().split())) # 테스트 케이스 입력받기
  students = arr[1:]
  moves = sortStudent(students)
  print(arr[0], moves)

실패

N = int(input())

def sortStudent(arr):
  cnt = 0
  for i in range(1, 20):
    if (arr[i] > arr[i+1]): # 테케 번호 뒤에 값 넣기
      tmp = arr[i + 1]
      arr.pop(i + 1)
      arr.insert(1, tmp)
      cnt += i # 맨 앞부터 나 전까지 학생들 뒤로 물러서기
      break
	  return 0
  return cnt + sortStudent(arr)

for _ in range(N):
  arr = list(map(int, input().split())) # 테스트 케이스 입력받기
  moves = sortStudent(arr)
  print(arr[0], moves)

조건 잘 못 생각함

profile
비요뜨 최고~

0개의 댓글