[백준 2879번] 코딩은 예쁘게 (Python/파이썬)
·
📚알고리즘/백준
https://www.acmicpc.net/problem/2879 2879번: 코딩은 예쁘게 첫째 줄에 줄의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 현재 줄에 있는 탭의 개수가 주어지며, 1번째 줄부터 순서대로 주어진다. 탭의 개수는 0보다 크거나 같고, 80보다 작거나 같은 정수 www.acmicpc.net 최소 횟수로 현재 탭 개수에서 맞춰야하는 탭 개수로 바꾸라는 그리디 알고리즘 문제이다. 그리디 알고리즘이라는게 특별한 알고리즘이 있는게 아니라 그냥 어떻게 하면 최적의 경로로 문제를 해결할까? 생각하고 구현하는 문제이다. 방법은 간단하다. 현재 위치에서 탭을 줄여야한다면, 양옆까지 확인해서 줄여야하는 탭은 같이 줄여준다. 대신 줄이는 횟수가 다를수 있으므로 줄여야하는 탭 중에서..
[백준 2812번] 크게 만들기 (Python/파이썬)
·
📚알고리즘/백준
https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제를 보자마자 오큰수하고 똑같은 문제라고 생각했다. 예전 포스팅에서 오큰수문제를 다뤘었는데 그때 deque를 사용하여 숫자를 하나씩 빠르게 비교할수 있다는 것을 배웠다. 만들 숫자를 stack에다가 하나씩 넣으면서, 넣어야될 숫자가 먼저 들어간 숫자보다 크면 원래 있던 숫자를 지우고 스택에 숫자를 추가했다. 당연히 들어가고 나서는 그 앞의 숫자들하고도 비교해주어야 하기 때문에 while을 이용하여 똑같은 과정을 반복했다. 마지막에 비교가 끝나고 한번도 비교를 안하게 되면 ..
루오
'백준 그리디' 태그의 글 목록 (2 Page)