큰 수 만들기

큰 수 만들기

Prob

number에서 k개 수를 제외했을 때 나오는 answer 중 가장 큰 answer

Solv

  1. itertoolscombinations
    조합으로 k개 만큼 추출 후 그것들을 number에서 제외 후 숫자 비교
    시간초과
  2. stack
    • number의 첫 번째 수부터 차례로 answer에 push
    • k번의 횟수동안 number에서 answer로 들어올 수가 answer의 마지막 수보다 크면 마지막 수 pop을 반복
    • answer에 number를 모두 push한 후 len(number) - k보다 크면 즉 마지막 수가 항상 커서 k만큼 pop을 못한 경우 len(number) - k가 되도록 뒷부분 슬라이싱

Check

case 1

number = “1924”
k=2

answernumk
 1 
191
92 
9240
94  

case 2

number = “1231234”
k=3

answernumk
 1 
122
231
31 
3120
323 
3234 
3234  

case 3

number = “4177252841”
k=4

answernumk
 4 
41 
4173
47 2
77 
772 
77251
7752 
775280
77584 
775841 
775841  

Ref

https://velog.io/@soo5717/큰 수 만들기 - Python


Modified by Sungbin Shim