티스토리 뷰

1. 문제

programmers.co.kr/learn/courses/30/lessons/42883

 

코딩테스트 연습 - 큰 수 만들기

 

programmers.co.kr

2. 소스코드 (Python3)

def solution(number, k):

    stack = []

   

    for n in number:

        while stack and stack[-1] < n and k:

            k -= 1

            stack.pop()

        stack.append(n)

    if k:

        stack = stack[:-k]

   

    return ''.join(stack)

 

3. 고찰

1) 시간복잡도

for loop -> O(N)

    리스트.pop() -> O(1)

    리스트.append() -> O(1)

따라서 위 코드의 시간복잡도는 O(N)이다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함