728x90

algorithm 230

백준] 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..

백준] 1356 - 유진수

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다. 출력첫째 줄에 N이 유진수이면 YES, 아니면 NO를 출력한다. 소스코드 #include #include #include using namespace std; int main(void) { int n, tmp, sub1, sub2, size; vector arr; bool check = false; cin >> n; tmp = n; while (tmp > 0) { arr.push_back(tmp % 10); tmp /= 10; } size = arr.size(); if (size > 1) { for (int i = 0; i < size; i++) { sub1 = su..

728x90