728x90

백준 알고리즘 190

백준] 1855 - 암호

시간 제한 : 2초메모리 제한 : 128MB 입력열의 개수 K(1≤K≤20)가 주어지고 두 번째 줄에는 암호화 된 문자열(모두 영소문자)이 주어진다. (문자열의 길이는 200 이하이며 K의 배수이다.) 출력첫 줄에 원래의 문자열을 출력한다.. 소스코드 #include #include #include using namespace std; int main(void) { int k, len; string crypt; char arr[200][200]; cin >> k >> crypt; len = crypt.length(); for (int i = 0; i < len/k; i++) { if (i % 2 == 0) for (int j = 0; j < k; j++) arr[i][j] = crypt[i*k + j];..

백준] 2966 - 찍기(COCI 2008/2009)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 필기시험의 문제의 수 N이 주어진다. (1 ≤ N ≤ 100)둘째 줄에는 시험의 정답이 주어진다. 출력첫째 줄에 가장 많은 문제를 맞춘 사람이몇 문제를 맞추었는지 출력한다.다음 줄에는 가장 많은 문제를 맞춘 사람의 아이디를 한 줄에 하나씩 출력한다. 상근이의 아이디는 Adrian, 창영이의 아이디는 Bruno, 현진이의 아이디는 Goran이다. 아이디 여러 개를 출력하는 경우에는 상근이, 창영이, 현진이 순서로 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, max = -1, len, ans[3] = { 0, }, meta[3][6] = { {0,1,2},{1,0..

백준] 2947 - 나무 조각(COCI 2008/2009)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 조각에 써 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다. 출력두 조각의 순서가 바뀔때 마다 조각의 순서를 출력한다. 소스코드 #include using namespace std; int main(void) { int arr[5]; for (int i = 0; i > arr[i]; for (int i = 0; i arr[j + 1]) { int tmp; tmp = arr[j]; arr[j] = arr[j + 1]; a..

백준] 3023 - 마술사 이민혁(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 왼쪽 위 부분의 행의 개수 R과 열의 개수 C가 주어진다. (1 ≤ R, C ≤ 50)다음 R개 줄에는 C개의 문자 '.' 또는 '#'가 주어진다.마지막 줄에는 에러의 위치 A와 B가 주어진다. (1 ≤ A ≤ 2R, 1 ≤ B ≤ 2C) 출력카드 뒷 면 전체 디자인을 총 2R개 줄에 걸쳐서 출력한다. 각 줄은 2C개의 문자로 이루어져 있어야 한다. 소스코드 #include #include #include using namespace std; int main(void) { int r, c, a, b; string parts[50]; string card[100]; cin >> r >> c; for (int i = 0; i < r; i++) cin..

백준] 2504 - 괄호의 값(KOI 2008 지역본선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 괄호열을 나타내는 문자열(스트링)이 주어진다. 단 그 길이는 1 이상, 30 이하이다. 출력첫째 줄에 그 괄호열의 값을 나타내는 정수를 출력한다. 만일 입력이 올바르지 못한 괄호열이면 반드시 0을 출력해야 한다. 소스코드 #include #include #include using namespace std; int main(void) { char arr[32]; stack st; int tmp = 1, sum = 0; bool wrong = false; cin >> arr; for (int i = 0; arr[i]; i++) { if (arr[i] == '(') { tmp *= 2; st.push('('); } else if (arr[i] == '..

백준] 14954 - Happy Number

시간 제한 : 0.2초메모리 제한 : 512MB 입력Your program is to read from standard input. The input consists of a single line that contains an integer, n (1 ≤ n ≤ 1,000,000,000) 출력Your program is to write to standard output. Print exactly one line. If the given number n is a happy number, print out HAPPY; otherwise, print out UNHAPPY. 소스코드 #include #include using namespace std; int main(void) { int n, m; set s;..

백준] 11049 - 행렬 곱셈 순서

시간 제한 : 1초메모리 제한 : 256MB 입력첫째 줄에 행렬의 개수 N(1 ≤ N ≤ 500)이 주어진다.둘째 줄부터 N개 줄에는 행렬의 크기 r과 c가 주어진다. (1 ≤ r, c ≤ 500)항상 순서대로 곱셈을 할 수 있는 크기만 입력으로 주어진다. 출력첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최소값을 출력한다. 정답은 2^31-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 2^31-1보다 작거나 같다. 소스코드 #include #include using namespace std; int dp(int arr[], int size) { int** table; int i, j, k, L, tmp, result; table = new int*[size..

백준] 10040 - 투표(JOI 2014 예선)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 경기의 수 N과 위원의 수 M이 주어진다. (1 ≤ N, M ≤ 1000)다음 N개의 줄에는 경기 i를 개최하는데 필요한 비용 Ai가 주어진다. (1 ≤ Ai ≤ 1000)다음 M개의 줄에는 위원 j의 심사 기준 Bj가 주어진다. (1 ≤ Bj ≤ 1000) 출력가장 많은 표를 획득한 경기의 번호를 출력한다. 소스코드 #include using namespace std; int main(void) { int n, max = 0; double arr[1000], aver = 0.0; cin >> n; for (int i = 0; i > arr[i]; max = max < arr[i] ? arr[i] : max; } f..

백준]1546 - 평균

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력첫째 줄에 새로운 평균을 출력한다. 정답과의 절대/상대 오차는 10^-2까지 허용한다. 소스코드 #include using namespace std; int main(void) { int n, max = 0; double arr[1000], aver = 0.0; cin >> n; for (int i = 0; i > arr[i]; max = max < arr[i] ? arr[i] : max; } for (int i..

728x90