실버라서 겁먹은 문제지만 어렵지 않았다.
숫자도 몇 개 없어서 반복문을 맘껏 써도 돼서 좋은 문제였다 하하
문제를 풀면서 느낀 거지만 swap함수는 저렇게 define으로 사전 정의를 해두면 문제 풀기 훨씬 간편해진다.
문제는 간단히 a배열을 입력받으면서 동일한 값을 b배열에 넣어두고 b배열만 크기순으로 정렬하여
a에서의 위치를 출력해 주었다.
중간에 5개의 합을 먼저 출력해주어야 하여 별도 반복문을 통해 출력해 주었다.
#include <stdio.h>
#define swap(x,y) {int z=x;x=y;y=z;}
int main(){
int a[10],b[10];
int sum=0;
for(int i=1;i<=8;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
for(int i=1;i<=8;i++){
for(int j=i+1;j<=8;j++){
if(b[i]<b[j]) swap(b[i],b[j]);
}
}
for(int j=1;j<=5;j++){
sum+=b[j];
}
printf("%d\n",sum);
for(int i=1;i<=8;i++){
for(int j=1;j<=5;j++){
if(b[j]==a[i]) {
printf("%d ",i);
}
}
}
return 0;
}
'백준 C언어 > silver' 카테고리의 다른 글
백준 2839 설탕배달 C언어_230119 (0) | 2023.01.19 |
---|---|
백준 7568 덩치 C언어_230118 (0) | 2023.01.18 |
백준 2578 빙고 C언어_230117 (0) | 2023.01.18 |
백준 1978 소수찾기 C언어_230113 (0) | 2023.01.13 |
백준 5555 반지 C언어_230108 (0) | 2023.01.13 |
댓글