반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42883
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
stack를 사용해서 풀었다.
stack에 있는 값이 현재 값보다 작다면 가장 최근에 들어간 값을 제거했고 다시 그 앞자리수를 비교했다.
코드
def solution(number, k):
answer = ''
stack = []
popNum = 0
idx = 0
while idx < len(number) and popNum < k:
# stack 값이 없다면 현재 값을 stack 넣기
if len(stack) == 0:
stack.append(number[idx])
else:
while len(stack) > 0 and stack[-1] < number[idx] and popNum < k:
if stack[-1] < number[idx]:
stack.pop(-1)
popNum += 1
stack.append(number[idx])
idx += 1
while popNum < k:
stack.pop(-1)
popNum += 1
if idx < len(number):
stack.extend(number[idx: ])
answer = ''.join(stack)
return answer
"""
k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자
1924에서 두 개를 제거하면 가장 큰수가 높은 자릿수를 가지고 있어야 됨
stack 사용해서 풀면됨
"""
반응형
'👨🏫ps > ❄️프로그래머스' 카테고리의 다른 글
[프로그래머스] 롤케이크 자르기 [python] (0) | 2023.03.24 |
---|---|
[프로그래머스] 숫자 변환하기 [python] (0) | 2023.03.24 |
[프로그래머스] 게임 맵 최단거리 (0) | 2023.03.16 |
[프로그래머스] 숫자의 표현 [python] (0) | 2023.03.15 |
[프로그래머스] 신규 아이디 추천 [python] (0) | 2023.03.14 |