본문 바로가기

728x90

그리디

(4)
[백준] 1541번 잃어버린 괄호 [Python] - 그리디 양수, +, -, 괄호가 주어진 수식에서 괄호만 지운 문자열이 주어질 때, 괄호를 적절히 쳐서 최소값을 구하는 문제 양수는 0부터 시작하는 문자열로 주어지기도 합니다. 더보기 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어..
[백준] 12981번 공 포장하기 [Python] - 그리디 세가지 색깔의 공이 있고, 공을 담는 최소 박스 개수 구하는 문제 1 박스에 공은 1,2 또는 3개를 넣을 수 있습니다. 모두 같은 색으로 넣거나 모두 다른 색으로 넣어야 합니다. 더보기 문제 빨간 공 R개, 초록 공 G개, 파란 공 B개를 가지고 있다. 오늘은 이 공을 박스로 포장하려고 한다. 박스에는 공이 1개, 2개, 또는 3개 들어갈 수 있다. 박스에 들어가는 공의 색은 모두 다르거나, 모두 같아야 한다. 필요한 박스 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 R, G, B가 주어진다. $(1 ≤ R, G, B ≤ 100)$ 출력 첫째 줄에 필요한 박스 개수의 최솟값을 출력한다. 12981번: 공 포장하기 $($acmicpc.net$)$ 모두 같은 색으로 3개씩 $($3으로 나..
[백준] 22993번 서든 어택 3 [Python] - 그리디 공격력이 강한 사람이 약한 사람과 전투를 치르면 이기면서 상대방의 공격력을 갖는다. $($지면 끝, 동점은 아무 일도 일어나지 않음$)$ 전투 순서가 운이 좋아서 이길 수 있다면 Yes, 어떠한 경우에도 이길 수 없다면 No를 출력하는 문제 더보기 문제 지스타를 준비하기 시작한 작년 여름 이후 CBT와 런칭 준비를 한 오늘까지. 평일 저녁에 가족이 깨어 있는 것을 거의 본 적이 없다. 이제 본격적인 정식오픈을 이틀 앞 둔 오늘. 바람소리와 스산한 빗소리가 사무실 창밖을 때린다. 폭풍전야. 블라인드에서 서든3을 비웃던, 지금도 비웃는 이들에게 반박글을 달지 않았다. 니들이 허접한지, 우리가 허접한지는 결과가 말해줄 것이다. 넥슨의 게임 개발자 준원이는 서든어택 3의 출시를 앞두고 게임 테스트를 하고 있다...
[백준] 17451번 평행 우주 [Python] - 그리디 이동할 행성마다 빠져나가기 위해 요구하는 최소 속도가 있다. 출발하면 속도를 유지하거나 늦추기만 가능하며, 최소 속도의 정수배일 때만 그 행성을 지나갈 수 있다. 모든 행성을 지나가기 위한 최소 출발 속도를 구하는 문제 더보기 문제 서기 2XXX년, 지구가 소행성과 충돌할 위기에 처했다! 똑똑한 과학자 키파는 평행 우주를 누비며 지구를 대신할 행성을 찾는 막중한 임무를 맡게 되었다. 우리는 현재 지구$($=행성 0$)$에 있다. 여러 요인을 고려한 결과, 행성 1, 행성 2, …, 행성 $($n-1$)$을 순서대로 확인하고 지구$($=행성 n$)$에 돌아오는 것이 비용상 최적임을 알아냈다. 모든 정수 1 ≤ i