본문 바로가기

분류 전체보기985

C언어 219제] 다항식의 계수(Polynomial Coefficients) 출처 : 반크_반크 20년 백서 문제]이 문제에서는 다항식을 전개했을 때의 계수를 구해야 한다. P=(x1+x2+...+xk)^n 입력 여러 쌍의 줄이 입력된다. 각 쌍의 첫번째 줄에는 두 개의 정수 n과 k가 있으며, 그 두 정수는 스페이스로 구분된다. (0출력 입력된 각 줄의 쌍에 대해 다항식 (x1+x2+...+xk)^n을 전개했을 때 나오는 p=∑1X10^i 항의 개수를 나타내는 정수를 한 줄에 하나씩 출력한다. 입력 예 2 2 1 1 2 12 1 0 0 0 0 0 0 0 0 0 1 0 출력 예 2 2 출처] Programming Challenges 알고리즘 트레이닝 북(한빛미디어) : 문제38 다항식의 계수(Polynomial Coefficients) p158  참고풀이]#include  uns.. 2025. 1. 21.
C언어 218제] 곱하기 게임(A Multiplication Game) 출처 : 반크_반크 20년 백서 문제]스탠(Stan)과 올리(Ollie)가 정수 p에 2 이상 9 이하의 수 가운데 하나를 곱하는 곱하기 게임을 한다. 항상 가장 먼저 게임을 시작하는 것은 스탠으로, p=1에서 시작해서 곱하기를 한다. 그러면 올리는 그 수를 받아서 곱셈을 한 다음 다시 스탠한테 순서를 넘기고, 이런 과정이 반복된다. 게임을 시작하기 전에 무작위로 1보다 크고 4,294,967,295보다 작은 정수를 하나 뽑는데, 둘 중에서 n 이상인 p를 먼저 만들어내는 사람이 게임의 승자가 된다. 입력 각 줄마다 정수 n이 하나씩 주어진다. 출력 각 입력 줄에 대해 다음 중 하나를 줄력한다. Stan wins. Ollie wins. 이때 스택과 올리는 모두 완벽하게 게임을 한다고 가장하자. 입력 예 .. 2025. 1. 21.
C언어 217제] 1의 개수(Ones) 출처 : 반크_반크 20년 백서 문제]2나 5로 나눌 수 없는 0 이상 10,000 이하의 정수 n이 주어졌는데, n의 배수 중에는 10진수로 표기했을 때 모든 자리 숫자가 1인 것이 있다. 그러한 n의 배수 중에서 가장 작은 것은 몇 자리 수일까? 입력 한 줄에 하나씩의 정수가 들어있는 파일 출력 입력된 정수 a에 대해 p=aXb(b는 0보다 큰 정수)라고 할 때 p=∑1X10^i를 만족시키는 가장 작은 정수 x(x>0)를 한 줄에 하나씩 출력한다. 입력 예 3 7 9901 출력 예 3 6 12 출처] Programming Challenges 알고리즘 트레이닝 북(한빛미디어) : 문제 36 1의 개수(Ones) p156  참고풀이]#include  int main() {    int n, x, t, S.. 2025. 1. 21.
C언어 216제] 뒤집어서 더하기(Reverse and Add) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]일단 어떤 수를  방아서 그 수를 뒤집은 다음 뒤집어진 수를 원래의 수에 더하는 과정을 뒤집어서 더하기라고 부르자, 그 합이 회문(palindrome, 앞뒤 어느 쪽에서 읽어도 같은 말이 되는 어구. 예: eye, madam, 소주만병만주소)이 아니면 회문이 될 때가지 이 과정을 반복한다. 예를 들어 처음에 195에서 시작해서 다음과 같이 네 번 뒤집어서 더하기를 반복하면 9,339라는 회문이 만들어진다. 195 + 591 = 786 + 687 = 1473 + 3741 = 5214 + 4125 = 9339 대부분의 정수는 이 방법을 몇 단계만 반복하면 회문이 된다. 하지만 예외도 있다. 회문을 찾을 수 없는 것으로 밝혀진 첫번째 수는 196이다.. 2025. 1. 16.
C언어 215제] 자리 올림(Primary Arithmetic) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]초등학생들이 여러 자리 수의 덧셈을 배울 때는 한 번에 한 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어한다. 일련의 덧셈 문제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 한다. 입력 각 행에는 열 자리 미만의 부호가 없는 정수가 두 개씩 입력된다. 마지막 줄에는 '0 0'이 입력된다. 출력 마지막 줄을 제외한 각 줄에 대해 주어진 두 수를 더할 때 자리를 올려야 하는 횟수를 계산한 다음, 아래에 주어진 형식대로 결과를 출력한다. 입력 예 123 456 555 .. 2025. 1. 16.
C언어 214제] 셸 정렬(Shell Sort) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]여틀 왕(King Yertle)은 그의 거북이 왕관을 재배치해서 가장 계급이 높은 귀족과 가장 가까운 측근들을 더 위쪽으로 올리고 싶어한다. 쌓여있는 거북이들의 순서를 바꾸는 방법은 거북이 한 마리가 원래 자기 위치에서 빠져 나와서 맨 위로 올라가서 자리를 잡는 방법 밖에 없다. 거북이 스택의 원래 순서와 새로 만들어져야 할 스택의 순서가 주어졌을 때 최소한의 이동 횟수만으로 원래 스택을 새로운 스택으로 재배치할 수 있는 순서를 찾아야 한다. 입력 입력의 첫번째 줄에는 테스트 케이스의 개수를 나타내는 K라는 정수 하나만 들어있다. 각 테스트 케이스는 스택에 들어있는 거북이의 개수를 나타내는 n이라는 정수로 시작되며 그 밑으로 n개의 줄에 걸쳐서.. 2025. 1. 16.
C언어 213제] 구두 수선공 문제(Shoemaker's Problem) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]어떤 구두 수선공에게 N개의 주문이 들어와 있다. 그는 하루에 한 가지 작업만 할 수 있으며 보통 한 작업을 하는데 며칠이 걸린다. i번째 작업에 대해 Ti(1하지만 인기가 좋으면 그 만큼의 대가가 따른다. 구두 수선공은 i번째 작업을 시작하기 전까지 지연되는 날 수를 기준으로 하루에 Si(1입력 첫 줄에는 테스트 케이스의 개수를 나타내기 위한 양의 정수 한 개가 들어가며 그 다음 줄은 빈 줄이다. 서로 다른 테스트 케이스 사이에도 빈 줄이 하나씩 들어간다. 각 케이스의 첫번째 줄에는 작업의 개수 N을 알려주는 정수가 들어있으며 이때 1출력 각 테스트 케이스에 대해 벌금이 최소가 되는 작업 순서를 출력한다. 각 작업은 입력된 순서를 기주으로 표.. 2025. 1. 16.
C언어 212제] 팬 케이크(Stacks of Flapjacks) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]그릴에서 팬 케이크를 구워서 완벽한 팬 케이크 스택을 만드는 것은 정말 까다로운 일이다. 아무리 팬 케이크를 정성스럽게 만들어도 팬 케이크의 크기가 조금씩 다르기 때문이다. 하지만 팬 케이크를 잘 정렬해서 위에 있는 팬 케이크가 아래에 있는 팬 케이크보다 더 작게 쌓으면 깔끔하게 보이게 할 수 있다. 팬 케이크의 크기는 그 지름으로 주어진다.스택을 정렬하는 과정은 일련의 팬 케이크 뒤집기 작업을 통해 이루어진다. 한 번 뒤집는 작업은 스택에 쌓여있는 것 중 두 팬 케이크 사이에 주걱을 집어넣고 그 주걱 위엥 있는 모든 팬 케이크를 뒤집는 작업(주걱 위에 있는 팬 케이크로 두성된 하위 스택의 순서가 거꾸로 되도록 만드는 작업)으로 구성된다. 한 .. 2025. 1. 8.
C언어 211제] NCP Lv3 소수 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. 입력 첫 번째 줄에 A와 B(1 ≤ A, B ≤ 100,000), N(1 ≤ N ≤ 1,000,000)이 공백을 경계로 주어진다. 출력 A÷B를 했을 때, 소숫점 아래 N번째 수를 출력한다. 예제 입력 1  25 7 5예제 출력 1  2 출처 : 백준_1312번 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  int main() {    int A, B, N;    int i;    int Mok;    //.. 2025. 1. 6.
C언어 210제] NCP Lv3 아무래도이문제는A번난이도인것같다 출처 :반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]어떤 정수 A가 있으면 그 수를 A = a1 * a2 * a3 * a4 ... * an으로 했을 때 A' = a1 + a2 + a3 ... + an이 성립하면 "A는 A'으로 변할 수 있다"라고 한다. (ai는 정수) 만약 A'이 A"으로 변할 수 있으면 "A는 A"으로 변할 수 있다"라고 한다. 이때 A와 B가 주어지면 A는 B로 변할 수 있는지 판별하시오. 입력 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다. 출력 각각의 테스트 케이스마다 한 줄에 변할 수 있으면 yes, 아니면 no를 출력한다. 예제 입력 1  1 6 5 예제 출력.. 2025. 1. 4.
C언어 209제] NCP Lv3 이항 계수 1 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]자연수 N과 정수 K가 주어졌을 때 이항 계수  를 구하는 프로그램을 작성하시오.  입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N) 출력 를 출력한다. 예제 입력 1  5 2 예제 출력 1  10 출처 : 백준_11050번 참고풀이]#define _CRT_SECURE_NO_WARNINGS #include  int Fac(int n) {    int i, result = 1;    for (i = n;i > 0;i--) result *= i;    return result; } int main() {    int N, K;    //N,K를 입력받는다.    scanf("%d%d", &N, &K);    if ((.. 2025. 1. 4.
C언어 208제] 비토와 친척들(Vito's Family) 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]유명한 갱스터인 비토 데드스톤(Vito Deadstone)이 뉴욕으로 이사를 간다. 뉴욕에는 그의 가족들이 매우 많이 살고 있는데 그들은 모두 람피아 거리(Lamafia Avenue)에 살고 있다. 그는 그 친척들을 자주 만나러 갈 계획이기 때문에 친척들과 가까운 곳에 집을 구하기로 했다. 비토는 모든 친척집과의 거리 총합이 가장 작은 곳에 집을 구하고 싶어하는데, 하필이면 당신에게 그 문제를 해결하기 위한 프로그램을 만들어내라는 협박 편지를 보내왔다. 입력 입력은 여러 개의 테스트 케이스로 구성된다. 첫번째 줄에는 테스트 케이스의 개수가 들어있다. 각 테스트 케이스마다 친척집의 수를 나타내는 정수 r(0출력 각 테스트 케이스에 대해 비토가 원.. 2025. 1. 2.
반응형