백준 2812 크게 만들기
-
백준 2812 크게 만들기Algorithm/BOJ 2020. 6. 22. 15:27
출처: www.acmicpc.net/problem/2812 분류: Greedy 접근방식 주어진 수에서 k개를 지워서 가장 큰 수를 만들어야 하는 문제입니다. 앞에서부터 스택에 담는데, 스택의 뒤에서부터 해당 수보다 작은 수는 다 지워내고 추가합니다. 저희는 k개를 지워야 하므로 지울 때마다 k의 개수를 줄여나갑니다. k가 0이 되었다면 더이상 지울만큼 지웠으므로 그냥 스택에 담아줍니다. 정리해보면 주어진 문자열에서 현재 확인할 숫자 n을 가지고 스택을 뒤에서부터 확인하면서 크거나 같을 때까지 반복합니다. // 현재 대상이 되는 수 n // stack의 뒤에서부터 확인하는 인덱스 i while i >= 0 { if n = 0 { if cuttedNumber[idx] >= originChar { // 비교대..