-Code
def solution(number, k):
answer = []
cnt = 0
for i in number:
if answer and cnt < k:
while answer[-1] < i:
answer.pop()
cnt += 1
if not answer or k <= cnt:
break
answer.append(i)
answer = answer if cnt == k else answer[:-k]
return ''.join(answer)
처음에는 조합을 이용하여 풀려했으나 시간 초과로 틀렸습니다. 그래서 찾아보니 스택을 이용한 방법이 있어서 코드를 짰으나 틀려서 문제검을 찾아보니 k만큼 수를 안지운 경우에 문제가 생겨서 if문으로 예외 설정을 하니 해결이 되었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 삼각 달팽이 (0) | 2022.05.18 |
---|---|
[프로그래머스/파이썬] N개의 최소공배수 (0) | 2022.05.18 |
[백준/파이썬] 4779번 칸토어 집합 (0) | 2022.05.18 |
[백준/파이썬] 18222번 투에-모스 문자열 (0) | 2022.05.18 |
[백준/파이썬] 17829번 222-풀링 (0) | 2022.05.18 |