1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#include <iostream>
using namespace std;
int main() {
// https://www.acmicpc.net/problem/1026
int n, temp, sum = 0;
int a[50];
int b[50];
scanf("%d",&n);
for(int i=0; i<n; i++){
scanf("%d", &a[i]);
}
for(int i=0; i<n; i++){
scanf("%d", &b[i]);
}
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1-i; j++){
if(a[j] < a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(int i=0; i<n-1; i++){
for(int j=0; j<n-1-i; j++){
if(b[j] > b[j+1]){
temp = b[j];
b[j] = b[j+1];
b[j+1] = temp;
}
}
}
for(int i=0; i<n; i++){
sum += a[i] * b[i];
}
printf("%d", sum);
return 0;
}
|
cs |
첫 알고리즘 문제.
문제를 보자마자 A, B배열을 각각 오름차순, 내림차순으로 정렬하면 되겠다 하는 생각이 들긴 했다.
근데 문제에 B배열은 재배치하면 안된대서 어떻게해야하나 고민을 하다가 다른 분들의 해답을 먼저 봐야겠다해서 찾아봤는데, 대부분이 문제에 오류가 있다며 B배열을 재배치했다.
왜인지는 모르겠지만 다들 그렇게 하고, 그렇게해도 정답으로 인정되길래 나도 그렇게 풀었다.
해당 문제와 관련된 알고리즘은 버블 정렬 (Bubble Sort)라고 생각했다.
참고자료 : https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 1037번 : 약수 (JAVA) (0) | 2019.10.19 |
---|---|
백준 알고리즘 1032번 : 명령 프롬프트 (JAVA) (0) | 2019.10.19 |
백준 알고리즘 1026번 : 보물 (JAVA) (0) | 2019.10.19 |
백준 알고리즘 1037번 : 약수 (C++) (0) | 2019.10.19 |
백준 알고리즘 1032번 : 명령 프롬프트 (C++) (0) | 2019.10.19 |