본문 바로가기

백준 문제 풀이 & C++ 공부54

백준 2839번 C/C++ www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 이 문제를 처음 접했을 때 생각한 방법은 n의 값을 받아온 다음 5를 최대한 빼고 그 다음에 3을 빼는 방식을 선택했습니다. 하지만 이렇게 되니 문제점이 나왔습니다. 11의 경우에 5, 3, 3으로 가능하지만 5, 5, X가 되어서 -1이 나오는 것이었습니다. 그래서 다른 방식을 선택을 하였는데 fiveCount라는 5를 얼마나 뺄 수 있는지를 늘려가면서 하는 것이었습니다. 이 방식도 귀찮은게 break식을 정하는 것이 .. 2021. 3. 1.
백준 2798번 C/C++ www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 블랙잭이란 것을 처음 들어보았는데 이러한 규칙이 있는 줄은 몰랐다... 나중에 해볼 수 있으면 재밌을 것 같다. 결국에 이 문제에서는 가장 근사값 또는 같은 값을 찾아야한다. 3장의 카드를 선택해서 3중 for문을 돌리기로 선택을 하였는데 보통 같으면 이러한 선택을 하지 않았겠지만 카드의 개수로 주어지는 n의 값이 많이 크지 않았고 충분히 3중 for문으로 돌려도 된다라고 판단을.. 2021. 2. 27.
백준 2275번 C/C++ www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 이번 문제를 보고 처음 생각한 풀이법은 재귀함수였습니다. 그렇게 재귀함수를 적으며 든 생각은 굳이 재귀함수로 사용하지 않고 풀어도 풀리겠는걸..? 이라는 생각이 들어서 재귀함수를 지우고 그냥 main함수 안에서 모든 것을 해결했습니다. 반복문을 많이 쓰지 않고 풀고 싶었으나 1차적으로 문제에 대한 답이 나오는 방향을 선택을 하였고 teseCase가 그렇게 많지 않아서 그런지 시간 초과는 나오지 않았습니다. 제 코드는 다음과 같습니다. #define _.. 2021. 2. 27.
백준 2805번 C/C++ www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 이 문제를 풀 때 가장 먼저 만들었던 코드이다, 이 문제의 난이도가 실버인데 실버가 이렇게 쉽게 풀릴리 없다고는 생각했지만 역시나 그럤다. 틀렸습니다가 아닌 시간 초과가 나왔고 다른 방식을 채택하기로 하였다. #define _CRT_SECURE_NO_WARNINGS #include //나무 M미터가 필요하다. //절단기 작동 원리: 절단기에 높이 H를 지정한다. 그러면 톱.. 2021. 2. 24.