
나의 첫번쨰 코드
def solution(number,k):
answer = ''
result_num_len = len(number)-k
max_number_index = 0
for i in range(len(number)):
if i == (len(number) - (len(number)-k))+1:
break
if number[i] > number[max_number_index]:
max_number_index=i
else:
continue
#print(max_number_index)
remove_list = []
for i in range(0,max_number_index):
remove_list.append(number[i])
#print(remove_list)
number = number[max_number_index:]
#print(number)
index = 1
number = list(number)
while True:
if len(remove_list) == k or index == len(number)-1:
break
if number[index] < number[index+1]:
remove_list.append(number.pop(index))
index = 1
else:
index +=1
if len(number) > result_num_len:
for i in range(len(number)-result_num_len):
number.pop(-1)
answer = ''.join(number)
#print(number)
#print(answer)
return answer
solution("4177252841",4)
ㅋㅋㅋ 다짜고 나서부터 이건 무조건 타임아웃 생각하고 있었긴 했음 ....

아니나 다를까 .... ㅎㅎㅎㅎ.ㅎ.ㅎㅎ.ㅎ.ㅎ
수정한 코드
def solution(number, k):
answer = ''
result_list = []
for i in number:
while k>0 and result_list and result_list[-1] < i:
result_list.pop()
k-=1
result_list.append(i)
answer = ''.join(result_list)
if len(result_list) > len(number)-k:
answer = answer[:len(number)-k]
print(answer)
return answer
solution("9421",2)

하하하하 아직은 진짜 부족하다 더 성장해야쥐이이이이