본문 바로가기

프로그램815

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.
C언어 207제] WERTYU 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]타이핑을 하다 보면 키보드에서 양손을 모두 원래 위치보다 오른쪽으로 한 칸 이동한 상태에서 키를 눌러서 오타가 나오는 경우가 종종 있다. 그러면 'Q'는 'W', 'J'는 'K' 같은 식으로 오른쪽에 있는 키가 입력된다. 이런 식으로 입력된 메시지가 주어졌을 때 원래 메시지로 복구시켜야 하는 임무가 주어졌다. 입력 입력은 여러 줄의 텍스트로 구성된다. 각 줄에는 숫자, 스페이스, 대문자('Q', 'A', 'Z' 제외), 위에 나와있는 구두 기호(역 따옴표 '`' 제외)가 들어갈 수 있다. 단어가 붙어있는 키(Tab, BackSp, Control 등)는 입력에 들어있지 않다. 출력 위에 나와있는 QWERTY 키보드를 기준으로 하여 각 글자나 기호.. 2025. 1. 2.
C언어 206제] 2007년 한국정보올림피아드 지역본선 초등부 2번 색종이 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. 입력 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽.. 2024. 12. 30.
C언어 205제] 2013년 한국정보올림피아드 지역본선 초등부 2번 덩치 출처 : 반크_백제역사 유적지구와 이스탐블역사 유적지구 문제]우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C.. 2024. 12. 30.
C언어 204제] 암호 깨기 II(Crypt Kicker II) 출처 : 반크_백제역사 유적지구 및 이스탐블역사 유적지구 문제]텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 바꾸는 방법이 있다. 즉 알파벳의 각 글자가 다른 글자로 치환된다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 한다. 알려진 평문 공력법(known plain text attack)이라는 강력한 암호 분석 방법이 있다. 알려진 평문 공격법은 상대방이 암호화했다는 것을 알고 있는 구문이나 문장을 바탕으로 암호화된 텍스트를 관찰해서 인코딩 방법을 유추하는 방법이다. 여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용한다고 가정하고 그 중 한 줄에 th.. 2024. 12. 26.
C언어 203제] 인터프리터(Interpreter) 출처 : 반크_백제역사 유적지구 및 이스탐블역사 유적지구 문제]어떤 컴퓨터에 열 개의 레지스터와 1,000워드 분량의 램(RAM)이 있다. 각 레지스터 또는 램 위치에는 0 이상 999 이하의 세 자리 정수가 저장된다. 명령어는 세 자리 정수로 인코딩되며 램에 저장된다. 인코딩은 다음과 같다. 100종료2dnd레지스터를 n으로 설정(0이상 9이하) 3dnd레지스터에  n을  더함.4dnd레지스터를에  n을 곱함.5dsd레지스터를  s레지스터의 값으로 설정.6dss 레지스터의 값을 d레지스터에 덤함.7dsd 레지스터에 s레지스터의 값을 곱함. 8dad레지스터를 a레지스터에 저장된 주소의 램에 들어있는 값으로 설정.9daa레지스터에 저장된 주소의 램에 s레지스터의 값을 대입0dss레지스터에 0이 들어있지 않.. 2024. 12. 25.
C언어 202제] 그래픽 편집기(Graphical Editor) 출처 : 반크_백제역사 유적지구 및 이스탐블역사 유적지구 문제]포토샵 같은 그래픽 편집기를 이용하면 텍스트 편집기에서 문서를 수정하는 것처럼 비트맵 이미지를 수정할 수 있다. 이미지는 픽셀로 이루어진 M × N 배열로 표현되며 각 픽셀마다 색이 주어진다. 간단한 대화형 그래픽 편집기 흉내를 낼 수 있는 프로그램을 만들어보자. 입력 입력은 한 줄에 하나씩의 편집기 명령으로 구성된다. 각 명령은 줄 맨 앞에 잇는 대문자 한 개로 표현된다. 매개변수가 필요한 경우에는 그 명령과 같은 줄에 스페이스로 분리되어 매개변수가 입력된다. 픽셀 좌표는 1 이상 M 이하의 열 번호와 1 이상 N 이하의 행 번호, 이렇게 두 개의 정수로 푠현되며 이때 1편집기에서 받아륻이는 명령은 다음과 같다.I M N모든 픽셀이 흰색(O.. 2024. 12. 24.
반응형