문제 다음과 같이 Encoding 을 한다. 1. 우선 24비트 버퍼에 위쪽(MSB)부터 한 byte씩 3 byte의 문자를 집어넣는다. 2. 버퍼의 위쪽부터 6비트씩 잘라 그 값을 읽고, 각각의 값을 아래 [표-1] 의 문자로 Encoding 한다. 입력으로 Base64 Encoding 된 String 이 주어졌을 때, 해당 String 을 Decoding 하여, 원문을 출력하는 프로그램을 작성하시오. 제약사항 문자열의 길이는 항상 4의 배수로 주어진다. 그리고 문자열의 길이는 100000을 넘지 않는다. 입력 입력은 첫 줄에 총 테스트 케이스의 개수 T가 온다. 다음 줄부터 각 테스트 케이스가 주어진다. 테스트 케이스는 Encoding 된 상태로 주어지는 문자열이다. 10 TGlmZSBpdHNlbGY..
문제 RC (Radio Control) 카의 이동거리를 계산하려고 한다. 입력으로 매 초마다 아래와 같은 command 가 정수로 주어진다. 0 : 현재 속도 유지. 1 : 가속 2 : 감속 위 command 중, 가속(1) 또는 감속(2) 의 경우 가속도의 값이 추가로 주어진다. 가속도의 단위는, m/s2 이며, 모두 양의 정수로 주어진다. 입력으로 주어진 N 개의 command 를 모두 수행했을 때, N 초 동안 이동한 거리를 계산하는 프로그램을 작성하라. RC 카의 초기 속도는 0 m/s 이다. 제약사항 1. N은 2이상 30이하의 정수이다. (2 ≤ N ≤ 30) 2. 가속도의 값은 1 m/s2 혹은 2 m/s2 이다. 3. 현재 속도보다 감속할 속도가 더 클 경우, 속도는 0 m/s 가 된다. ..
문제 원본 문서는 너비가 10인 여러 줄의 문자열로 이루어져 있다. 문자열은 마지막 줄을 제외하고 빈 공간 없이 알파벳으로 채워져 있고 마지막 줄은 왼쪽부터 채워져 있다. 이 문서를 압축한 문서는 알파벳과 그 알파벳의 연속된 개수로 이루어진 쌍들이 나열되어 있다. (예 : A 5 AAAAA) 압축된 문서를 입력 받아 원본 문서를 만드는 프로그램을 작성하시오. 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어지고 다음 줄부터 N+1줄까지 Ci와 Ki가 빈 칸을 사이에 두고 주어진다. 1 3 A 10 B 7 C 5 출력 각 줄은 '#t'로 시작하고, 다음 줄부터 원본 문서를 출력한다. (t는 테스트 케이스의 번호를 의미하며..
문제 월 일로 이루어진 날짜를 2개 입력 받아, 두 번째 날짜가 첫 번째 날짜의 며칠째인지 출력하는 프로그램을 작성하라. * 두 번째 날짜가 첫 번째 날짜보다 항상 크게 주어진다. 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 4개의 수가 주어진다. 첫 번째 수가 월을 나타내고 두 번째 수가 일을 나타낸다. 그 다음 같은 형식으로 두 번째 날짜가 주어진다. 3 3 1 3 31 5 5 8 15 7 17 12 24 출력 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. (t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.) #1 31 #2 103 #3 161 코드 1 2 3 4 5 6 7..
문제 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다. 다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 출력하시오. 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. 10 1 2 3 4 5 6 7 8 9 10 출력 각 줄은 '#t'로 시작하고, 다음 줄부터 빈칸을 사이에 두고 달팽이 숫자를 출력한다. #1 1 #2 1 2 4 3 #3 1 2 3 10 9 4 7 6 5 #4 1 2 3 4 12 18 14 5 17 16 15 6 10 9 8 7 #5 1 2 3 4 5 16 26 18 19 6 15 25 0 20 7 24 23 22 21 8 13 12 11 10 9 #6 1 2 3 4 5 6 20 34 4..
문제 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다. 아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다. Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다. 단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라. 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고, 두 번째 줄에는 Ai,세 번째 줄에는 Bj 가 주어진다. 출력 출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다. 코드 1 2 3 4 5 6 7 8 9..