목록백준 (529)
알고리즘 모음(C++)
문제 링크입니다. https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $-www.acmicpc.net모든 경우의 수를 대입해 구하는 문제입니다. X, Y값을 -999부터 999까지 넣어본 다음, 윗 방정식을 만족한다면 해당 값을 아래 방정식에 넣어봅니다. 만약, 두 방정식 모두 만족한다면 해당 값을 출력합니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_..
문제 링크입니다. https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.www.acmicpc.net정사각형의 각 변의 중앙에 점을 추가한 뒤, 정사각형의 중심에 점을 추가합니다. 해당 과정을 N번 반복했을 때, N번까지 찍은 검은점의 갯수를 구하는 문제입니다. 초기상태에서는 점이 4개입니다. (한 변에 점 2개) 1번 반복했을 때는 점이 5개입니다. (한 변에 점 3(=2*2-1)개) 2번 반복했을 때는 점이 16개입니다. (한 변에 점 5(=3*2-1)개) -> 2번 반..
문제 링크입니다. https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다.www.acmicpc.net주어진 돈을 25, 10, 5, 1센트를 이용해 최소 갯수로 나눠주는 방법을 구하는 방법입니다. 동전의 갯수가 최소가 되려면 큰 값을 가진 동전으로 최대한 줘야합니다. 따라서 25, 10, 5, 1센트 순서대로 나눈 나머지 값을 출력해주면 됩니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #inc..
문제 링크입니다. https://www.acmicpc.net/problem/1100511005번: 진법 변환 210진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net주어진 10진수를 B진법으로 변환해 출력하는 문제입니다. 예를 들어 50을 2진수로 변환하는 방법은 50 % 2 = 0, 50 / 2 = 25 25 % 2 = 1, 25 / 2 = 12 12 % 2 = 0, 12 / 2 = 6 6 % 2 = 0, 6 / 2 = 3 3 % 2 = 1, 3 / 2 = 1 1 % 2 = 1, 1 / 2 = 0 -> 110010 해당 과정으로 변환이 됩..
문제 링크입니다. https://www.acmicpc.net/problem/25305 25305번: 커트라인시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다.www.acmicpc.net간단한 정렬을 사용한 코드입니다. 선택정렬을 내림차순으로 만든 뒤, M번째 수를 출력해주면 됩니다. 코드에선, sort를 이용해 간단히 풀었습니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include using namespace std; int N, M; int arr[100..
문제 링크입니다. https://www.acmicpc.net/problem/2566 2566번: 최댓값첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다.www.acmicpc.net9*9 배열이 주어졌을 때, 최댓값의 크기와 행렬을 구하는 문제입니다. 최댓값을 저장하는 변수를 만든 뒤, -1를 저장합니다. 해당 변수를 배열의 값과 계속 비교한 뒤, 자신보다 큰 값이 들어온다면, 행렬 값을 저장해주면 됩니다. 자세한 것은 코드를 참고해주세요. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #i..
문제 링크입니다. https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2www.acmicpc.net주어진 범위의 배열을 뒤집을 수 있는지 물어보는 문제입니다. reverse를 사용하면 쉽게 풀 수 있지만, 구현하는 코드를 따로 적어놨으니 참고 부탁드립니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #..
문제 링크입니다. https://www.acmicpc.net/problem/10813 10813번: 공 바꾸기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 www.acmicpc.net배열을 이용해 푸는 문제입니다.배열 N칸에 값이 차례대로 들어있을 때, X, Y칸의 값을 바꾸려고 합니다. 이때는 매개변수를 하나 만들어, 값을 저장해 주고, 순서대로 바꿔주기만 하면 됩니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #inc..
문제 링크입니다. https://www.acmicpc.net/problem/10810 10810번: 공 넣기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이www.acmicpc.net배열을 이용해 쉽게 풀 수 있는 문제였습니다.(i, j)까지 K값을 넣을 때, 마지막에 N개의 배열칸에는 어떤 값이 들어있는지를 구하는 문제입니다. 값을 입력 받은 후, 반복문을 이용해 해당하는 범위에 k의 값을 저장해주면 됩니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include..
문제 링크입니다. https://www.acmicpc.net/problem/13903 13903번: 출근 첫 번째 줄에는 보도블록의 세로, 가로 R, C(1 ≤ R, C ≤ 1,000)크기가 주어진다. 다음 R개의 줄에는 C개의 문자로 이루어진 보도블록의 초기 상태가 주어진다. (가로 블록은 0로 표시되고, 세로 블록 www.acmicpc.net BFS를 이용한 문제입니다. 자세한 것은 코드를 참고해주세요. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #define INF 987654321 #define F first #define S second using namespace std; int R,..
문제 링크입니다. https://www.acmicpc.net/problem/25418 25418번: 정수 a를 k로 만들기7(A), 8(연산 1), 9(연산 1), 18(연산 2), 19(연산 1), 38(연산 2), 76(연산 2), 77(연산 1)이 최소 연산이므로 정답은 7이다.www.acmicpc.net A값을 K로 변환할 때 최소 연산 횟수를 구하는 문제입니다. 변환하는 방법은 +1을 하거나 *2을 할 수 있습니다. 최소 연산 횟수를 구하는 것이기에 BFS를 사용해야 하며, 다른 좌표로 이동하면서 K값으로 도착하면 이동횟수를 출력해주면 됩니다. 자세한 것은 코드를 참고해주세요.#define _CRT_SECURE_NO_WARNINGS #include #include #include #include..
문제 링크입니다. https://www.acmicpc.net/problem/5341 5341번: Pyramids The input will be a sequence of integers, one per line. The end of input will be signaled by the integer 0, and does not represent the base of a pyramid. All integers, other than the last (zero), are positive. www.acmicpc.net 자세한 것은 코드를 참고해주세요. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespa..