본문 바로가기

전체 글153

[백준/C,C++] 2875번: 대회 or 인턴 www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net 풀이 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야 하는 인원 K가 주어졌을 때, 인턴쉽에 참여해야 하는 인원을 고려하기 전 만들 수 있는 최대의 팀 수는 min(n / 2, m) 입니다. 여기서 잉여 인원은 학생 수에서 팀에 포함되는 학생 수(최대의 팀 수 * 3)를 빼주면 되겠죠.. K가 잉여 인원보다 작을 땐 문제가 되지 않습니다. 어차피 최대의 팀 수에는 영향을 끼치지 못하기 때문이죠. K가 잉여 인원보다 클 때 빠져야 하는 인원수는 K - 잉여인원입니다. 최대의 .. 2021. 4. 20.
[백준/C,C++] 1041번: 주사위 www.acmicpc.net/problem/1041 1041번: 주사위 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수 www.acmicpc.net 풀이 n이 4인 경우를 보겠습니다. 4×4×4 크기의 정육면체입니다. 빨간색 부분은 3면이 보이는 주사위이고, 파란색 부분은 2면, 초록색 부분은 단 1면만 보입니다. 빨간색 부분은 정육면체의 크기에 상관없이 항상 4개 존재하고, 파란색 부분은 제일 꼭대기에 4 * (n - 2) → 8개와 그 밑으로 4 * (n - 1) → 12개가 존재합니다. 초록색 부분은 제일 꼭대기에 (n - 2).. 2021. 4. 20.
[백준/C,C++] 1059번: 좋은 구간 www.acmicpc.net/problem/1059 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 풀이 예제 입력 1의 경우 1 7 14 10 의 정수가 입력되었고, 2를 포함하는 좋은 구간을 구해보면 [2, 3], [2, 4], [2, 5], [2, 6]이 나옵니다. n이 3이라고 쳐보면, [2, 3], [2, 4], [2, 5], [2, 6] [3, 4], [3, 5], [3, 6] 이 나오죠. 4일 경우 [2, 4], [2, 5], [2, 6] [3, 4], [3, 5], [3, 6] [4, 5], [4, 6] 이고, 5일 경우 [2, 5], [2, 6] [3, 5], [3, 6] [4, 5], [4, 6] [5.. 2021. 4. 20.
[백준/C,C++] 11726번: 2×n 타일링 www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 입력값에 따른 출력값이 피보나치 수열과 비슷하게 증가합니다. n이 1일 때 방법의 수는 1이고, 2일 땐 2, 3일 땐 3, 4일 땐 5 ... 입니다. #include using namespace std; int DP[1001]; int main(void) { DP[1] = 1; DP[2] = 2; int n; cin >> n; for (int i = 3; i 2021. 4. 20.