[C++] 백준 16953: A -> B 🥈실버 2 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A 81 -> 8 -> 4 -> 2와 같이 흘러간다. 이렇게 보면 규칙을 쉽게 찾을 수 있다. 1. B가 2로 나눠지는 경우 2로 나누고 count++ 2. B가 2로 안나눠지는데 맨 오른쪽에 1이 있으면 1지우고 count++ 3. B가 2로 안나눠지는데 맨 오른쪽에 1도 없으면 그냥 안되는 거라서 -1 출력 후 프로그램 종료 예제 케이스 4..
[C++] 백준 1541: 잃어버린 괄호 🥈실버 2 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 접근 1. -가 나타나기 전까지는 모든 값을 그냥 더해두고, - 이후의 숫자들은 모두 뺄셈처리 한다. 괄호를 한번 친다고 가정할 때, - 이후에 모든 값을 괄호로 묶는 것이 가장 최솟값이 나오는 방법이기 때문이다. 55-50+40 -> 55-(50+40) -> 55 - 50 - 40 해결방법은 찾았으나 구현을 어떻게 할지가 고민이었다. 1...
[c++] 백준 20365: 블로그2 🥈실버 3 https://www.acmicpc.net/problem/20365 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 접근 빨간색, 혹은 파란색으로 전체를 칠해놓고, 나머지 색으로 다른 색상이 필요한 부분을 칠해주는 것이 최소의 값이 된다. 문제는 어떤 색으로 전체를 칠할 것이냐였다. 두 색중에 더 많은 색이 나타나는 것을 바탕색으로 칠하고, 더 적게 나타나는 색으로 나머지 부분을 칠하는 것이 최소가 될 것이라고 판단했다. 1. 입력값에서 R과 B의 개수를 알아낸..
[c++] 백준 20300: 서강근육맨 🥈실버 3 https://www.acmicpc.net/problem/20300 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 접근 N이 짝수일 때와 홀수일 때를 구분해서 코드를 작성해야 한다. 먼저, 입력받은 값을 내림차순으로 정렬시켜보자. 5 4 3 2 1 9개의 운동기구가 있는 경우에도 PT를 5번 받지만, 마지막 PT를 받을 때는 운동기구를 하나만 사용한다. N이 홀수인 경우에는, 가장 먼저 오는 운동기구는 반드시 하나만 사용해야 한다. 5를 따로 때놓고, 나머지 4 3 2 1의 경우..
[c++] 백준 13305: 주유소 🥈실버 3 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 접근 원 안의 숫자가 리터 당 기름의 가격, 막대 위의 숫자가 다음 도시까지의 거리일 때, 맨 오른쪽 도시까지 가기 위한 최소 비용을 출력하는 문제. 5원짜리 도시에서는 다음 도시까지 필요한 거리만큼만 기름을 사는 것이 합리적이다. 다음 도시에서는 리터 당 기름의 가격이 2원밖에 하지 않기 때문이다. > 5 * 2 = 10 만약 2원짜리..
[c++] 백준 11399: ATM 🥈실버 4 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 풀이1 P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2인 경우에서 줄을 [2, 5, 1, 4, 3]으로 세우면 각각의 값은 [1, 2, 3, 3, 4]이다. 이는 그냥 입력 받은 값을 오름차순으로 정렬하라는 것이다. 각 사람이 돈을 인출하는데 필요한 시간의 합은 다음과 같다. 1번사람: 1 2번사람: 1+2 3번사람: 1+2+3 4번사람: 1+2+3+3 5번사..