본문 바로가기
반응형

Programming401

[C/C++] 백준 #2512 예산(이분 탐색) 이번 문제는 예산이 요청되었을 때, 정해진 예산에 맞추어 최대 허용 예산값을 구하는 문제입니다. https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 이 문제는 최대 허용 예산값에 대해서 전체 예산 요청들을 만족하는지 아닌지를 판단할 수 있습니다. 최대 허용 예산값이 커질 수록 당연히 예산 초과가 될 수 있고, 최대 허용 예산값이 작아질수록 예산이 만족하기 때문에 어떤 값 이하에서는 항상 조건을 만족하고 그것을 초과하는 경우에는 항상 조건을 만.. 2023. 6. 12.
[C/C++] 백준 #2504 괄호의 값(스택) 괄호의 짝맞춤은 처음 언어를 배우면서 스택을 이용한 활용 사례로 많이 나오는 편입니다. 복합괄호 형태로 나오게 되는데요. 복합괄호가 아니라면 굳이 스택을 사용하지 않아도 됩니다. 이 문제는 단순한 괄호 짝 맞추기보다 어려운 문제입니다. https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 저는 일단 스택을 두가지 용도로 사용했습니다. 현재까지 계산된 결과를 저장하는 용도와 짝을 맞추는 용도로 썼습니다. 계산될 결과의 경우에는 양수값을 사용하였고.. 2023. 5. 30.
[C/C++] 백준 #2503 숫자야구(브루트포스) 숫자야구는 게임기가 없던 시절에 자주 했던 게임이죠. 숫자위치에 따라서 스트라이크와 볼을 불러주면, 그 결과에 따라서 상대방의 숫자를 맞추는 게임입니다. https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 이번 문제는 기존에 나온 결과를 가지고 가능성이 있는 숫자들의 개수를 알아내는 문제입니다. 이것을 이용하면 사람과 컴퓨터간에 숫자야구 게임을 만들 수도 있습니다. 알고리즘은 상당히 간단합니다. 모든 숫자리스트에 대해서 스트라이크와 볼을 기존 히스.. 2023. 5. 29.
[C/C++] 백준 #2502 떡 먹는 호랑이(구현) 이번 문제는 알고리즘이 무엇이라고 이야기하기가 어렵습니다. 그냥 구현이라고 하도록 하겠습니다. https://www.acmicpc.net/problem/2502 2502번: 떡 먹는 호랑이 첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤ A ≤ B)가 존재한다. www.acmicpc.net 피보나치 수열은 동적 계획법(dynamic programming)이나 재귀함수(recursion)이 나올 때 자주 등장하는 문제입니다. 일반적으로는 첫번째 항이 1, 두번째 항이 1인 경우입니다. 이번 문제는 d번째 항의 값이 주어졌을 때, 가능한 첫번째 항과 두번째 항 중 하나를 출력하면 됩니.. 2023. 5. 28.
[C/C++] 백준 #2493 탑(스택) 이번 문제는 스택을 이용해서 간단하게 풀 수 있는 문제입니다. 현재 골드 레벨로 설정되어 있지만, 그보다 낮은 레벨이어도 될 것으로 봅니다. 문제의 링크입니다. https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net n개의 타워가 왼쪽부터 차례대로 일렬로 서 있습니다. 각각의 탑 꼭대기에는 신호를 송신하는 장치가 있고, 왼쪽으로만 수평 방향으로만 송신할 수 있습니다. 모든 탑에서는 어떤 높이에서든 송신된 신호를 받을 수 있습니다. 송신된 신호는 첫번.. 2023. 5. 24.
[C/C++] 백준 #2491 수열(구현) #2491 문제는 간단하게 구현만 하면 되는 문제입니다. https://www.acmicpc.net/problem/2491 2491번: 수열 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾 www.acmicpc.net 문제를 해결하는 방법은 간단합니다. 이전수와 비교해서 감소하지 않는 값이면, inc값을 1 증가하고 그렇지 않으면 1로 설정을 합니다. 마찬가지로 증가하지 않는 값이면, dec값을 1 증가하고, 그렇지 안으면 1로 설정을 합니다. 이렇게 얻어진 값 중, 최대값을 기록한 후에 그 값을 출력하면 됩니다. 동적 계획법이 알고리즘에 적혀있기는 하지만,.. 2023. 5. 23.
728x90