문제
https://school.programmers.co.kr/learn/courses/30/lessons/42883
암호
def solution(number, k):
number =list(number)
result=(number.pop(0))
for i in number:
#result의 마지막 요소가 현재 요소보다 작다면
if result(-1) < i:
while result and result(-1) < i and k>0:
result.pop()
k -= 1
result.append(i)
#이미 k개의 수가 제거됨 또는 result의 마지막 요소가 현재 요소보다 큼
elif k == 0 or result(-1) >= i:
result.append(i)
#아직 k개의 수가 제거 안된 경우
if k :
#result의 뒤 부터 제거
result=result(:-k)
answer="".join(result)
return answer
참조 블로그
https://happy-obok.tistory.com/15
(프로그래머) 큰 숫자 만들기 (Python/Greedy/Greedy)
문제: 프로그래머는 큰 숫자를 만듭니다.
여러분은 숫자에서 k개의 숫자를 제거하여 얻을 수 있는 가장 큰 숫자를 찾고 싶습니다.
예를 들어 숫자 1924에서 두 자리를 빼면 (19, 12, 14, 92, 94, 24)가 됩니다.
happy-obok.tistory.com