파이썬 알고리즘 문제풀이 입문(코딩테스트 대비) - 인프런 | 강의
파이썬(Python)을 이용해 코딩 테스트 문제 풀이를 합니다., 개발자 취업 & 이직을 위한 핵심 코스 📝코딩테스트 대비 파이썬 알고리즘 문제풀이! 📢 수강 전 반드시 확인해주세요! 강의에서 제
www.inflearn.com
해당 강좌에 포함된 문제다.
스택 문제다.
예제 입력에서 첫 번째 수를 s, 두 번째 수를 n이라고 할 때,
s에서 n개만큼 제거해서 가장 큰 수를 만드는 문제다.
문제 접근 방법은 스택에 차례대로 push하다가 push전에 앞에 자기보다 작은 수가 있으면 pop하고 push하면 된다.
단, pop횟수는 n번
강좌에 나온 풀이대로 풀었으며, 알고리즘 설명만 듣고 풀어서 강좌 답지랑 다를 수도 있다.
s, n = tuple(input().split())
n = int(n)
arr = []
count = 0
for i in range(len(s)) :
if i == 0 :
arr.append(s[i])
else :
if count < n :
for j in range(len(arr)-1, -1, -1) :
if int(arr[j]) < int(s[i]) :
arr.pop()
count += 1
if count >= n :
break
else :
break
arr.append(s[i])
else :
arr.append(s[i])
sn = n - count
for i in range(sn) :
arr.pop()
print(''.join(arr))
[백준/파이썬]1918 후위 표기식 (0) | 2023.07.19 |
---|---|
[백준/파이썬]10799 쇠막대기 (0) | 2023.07.19 |
[백준/파이썬]28292 개미 수열 (1) | 2023.07.17 |
[알고리즘] 증가수열 만들기 (0) | 2023.07.13 |
[알고리즘] 뮤직비디오 (이분탐색, 결정 알고리즘) (0) | 2023.07.06 |