PlayXP

새로운 사이트를 준비하는 동안
여러분의 이야기가 이어질 작은 공간을 마련했습니다.

PlayXP 서비스를 준비하며 함께 작업하고 있는 운영진 일러스트

파이썬 짤막한 코드 한 번만 봐주실 분

조회 수 644

import random

L=[]

 

n=int(input('number: '))

if(1>=n or n>=100000):

print("invalid number")

 

k=int(input('second number: '))

if(1>=k or k>=n):

print("invalid number")

for i in range(n):#num 숫자만큼

L.append(random.randint(-999,999))#숫자 범위 -999부터 999

 

def QuickSelect(L,k):

A,M,B=[],[],[]

p=L[0]

for a in L:

if a < p: A,append(a)

elif a == p: M.append(a)

else: B.append(a)

if len(A) >= k:return QuickSelect(A,k)

elif len(A)+ len(M)<k: return QuickSelect(B, k-len(A)-len(M))

else: return p

 

n개의 정수를 랜덤으로 받아 k번쨰로 작은 숫자를 찾고 싶은데 실행하면 숫자만 받고 일을 안하네요... 오류도 안 뜨는데 혹시 어디가 잘못됐는지 알 수 있을까요

목록으로

댓글

댓글을 불러오는 중...