
주말 맞이 세차 :)
오랜만에 늦잠자고 밀린 청소까지 다 했다.
PYTHON
def solution(number, k):
answer = [] # 정답 숫자 저장 리스트
for num in number:
# answer가 비어있지 않고, 현재 숫자가 answer의 마지막 숫자보다 크며, 제거할 수 있는 숫자가 남아있을 때
while answer and answer[-1] < num and k > 0:
answer.pop() # answer의 마지막 숫자를 제거
k -= 1 # 제거할 숫자 개수 하나 빼기
answer.append(num) # 현재 숫자를 answer에 추가
# 모든 숫자를 순회한 후에도 제거할 숫자가 남아있다면, answer의 뒤에서부터 제거
if k > 0:
answer = answer[:-k]
return ''.join(answer) # answer에 남아있는 숫자들을 문자열로 합쳐서 결과 반환
리스트 생성: answer 리스트 생성
숫자 순회: number 문자열을 하나씩 각 숫자 num으로 반복
반복 조건:
answer가 비어있지 않고 (True),
num이 answer의 마지막 숫자보다 크고,
아직 제거해야 할 숫자(k)가 남아있는 동안 반복
answer의 마지막 숫자 제거 answer.pop()
제거할 숫자(k) 개수 하나 줄이기 k -= 1
현재 숫자 num을 answer에 추가 answer.append(num)
남은 제거:
모든 숫자를 다 순회했는데도 k가 남아있다면, 그만큼 answer의 뒤에서부터 숫자 제거
결과 생성:
answer에 남아있는 숫자들을 문자열로 합쳐 결과 반환 return ''.join(answer)
오늘의 한 줄.
토요일 녹았네..