본문 바로가기
반응형

Programming400

[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.
[C/C++] 백준 #2482 색상환(동적 계획법) 색상환 문제는 중복조합 문제입니다. 중복조합 문제는 식만 잘 세우면, 조합으로 문제를 해결할 수 있습니다. https://www.acmicpc.net/problem/2482 2482번: 색상환 첫째 줄에 N색상환에서 어떤 인접한 두 색도 동시에 선택하지 않고 K개의 색을 고를 수 있는 경우의 수를 1,000,000,003 (10억 3) 으로 나눈 나머지를 출력한다. www.acmicpc.net 색상환이 있습니다. 이 색상환은 비슷한 색들이 순차적으로 바뀌면서 쭉 이어지게 환(ring)을 이루게 됩니다. 색상환에 있는 모든 색은 이웃한 색과 비슷합니다. 그래서 이 색상환에서 몇개의 색을 고를때 이웃한 색을 고르지 않으려고 합니다. 고르는 경우의 수가 얼마가 되는지가 문제입니다. 환을 이루지 않는 경우에는 .. 2023. 5. 22.
728x90