본문 바로가기

C언어

2025학년 1학기 6주차 C언어

 

def solution(number, k):
    stack = [] #그리디 방식으로 만들어진 숫자가 저장될 배열이다
    
    for num in number: #number로 입력받은 숫자들을 앞에서부터 하나씩 확인한다
    
    #while문에서 스택의 마지막 숫자가 num보다 크다면 스택을 pop하고 num을 넣는다.
    #이때 제한된 횟수인 k가 감소한다.
        while (stack and k > 0) and (stack[-1] < num): 
            stack.pop()
            k -= 1;
        stack.append(num)
        
    #만약 k가 0보다 클 경우 스택의 뒷부분을 잘라내서 그리디 방식의 조건을 충족한다
    
    if k>0:
        stack = stack[:-k]

#숫자들을 다시 문자열로 만든다
    return ''.join(stack)

'C언어' 카테고리의 다른 글

2025년 1학기 8주차 C언어  (0) 2025.05.25
2025년 1학기 7주차 C언어  (0) 2025.05.17
2025년 C언어 5주차 추가  (0) 2025.05.01
2025년 1학기 C언어 5주차  (0) 2025.04.30
2025년 C언어 5주차(추가) 1학기  (0) 2025.04.11