-
[🥲 프로그래머스] 큰 수 만들기 - 탐욕법Algorithm/1일 1코테 2021. 7. 25. 20:22반응형
https://programmers.co.kr/learn/courses/30/lessons/42883
✅ 다른 사람 풀이
def solution(number, k): # number = 1924 stack = [number[0]] # 맨 처음 숫자 1 for num in number[1:]: # 9,2,4가 하나씩 출력 # stack에 있는 값과 현재 num을 비교하여 stack을 채운다! # stack에 값이 있고 & stack의 맨 마지막 값이 현재 값보다 작고 & k가 0보다 크면 while len(stack) > 0 and stack[-1] < num and k > 0: k -= 1 stack.pop() stack.append(num) # 잔여 처리 if k != 0: stack = stack[:-k] return ''.join(stack)
✅ 로직
현재 스택에 담긴 것과 num을 비교하여 stack을 변경해나가는 방식..!!!
예시) number=1924, k=2일 경우
stack (전) 현재 num stack (후) [1] # 맨 처음 것 9
# stack보다 num이 더 크므로 stack에 있는 것 삭제하고 num 추가, k는 -1하여 k=1[9] [9] 2
# stack보다 num이 더 작으므로 stack에 그냥 추가[9,2] [9,2] 4
# stack의 2보다 작으므로 stack에서 2 삭제 후 k는 -1하여 k=0
# k가 0이므로 while문 멈춤[9,4] 반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[프로그래머스] 입국심사 - 이분탐색 (0) 2021.07.26 [🥲 프로그래머스] 구명보트 - 탐욕법 (0) 2021.07.25 [??? 프로그래머스] 조이스틱 - 탐욕법 (0) 2021.07.25 [🥲 프로그래머스] 베스트앨범 - hash (0) 2021.07.24 [🥲 프로그래머스] 위장 - hash (0) 2021.07.23