일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조 데크
- 풀스택?
- 장고 하는법
- 괄호 유효성
- 스택 중위수식
- 스택 삽입
- rest gql
- https://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together/219124#219124
- 스택 삭제
- golang
- restapi graphql
- grid html
- flex html
- 스택 자료구조
- 스택 후위수식
- 중위수식
- 괄호 짝 잘맞는지
- grid flex
- 장고 웹 만들기
- 스택 괄호
- 스택 구현
- 후위수식
- 스택 유효성
- 풀스택
- 데크 구현
- go
- Django tutorial
- rest graphql
- 중위수식을 후위수식
- 루비 초보
- Today
- Total
donchanee
배열 문제 #7. 본문
이어서, 결과로 나온 배열에 다시 2단계 배열 문제 #6.를 계속 적용하여 전체 N개의 정수 중 가장 큰 수, 가장 작은 수가 남을 때 까지 반복하는 프로그램을 작성하시오.
풀이는 다음과 같다. 문제 #6 의 풀이를 그대로 가져다 수정하였다.
#include <stdio.h>
int main(void){
int N, i, j, a[20], b[20];
int max_a[20], min_b[20], max, min, cnt;
scanf("%d", &N);
for(i=0;i<N;i++) {
scanf("%d", &a[i]);
b[i] = a[i];
}
for(i=N-1;i>=0;i--)
printf(" %d", a[i]);
printf("\n");
while(1) {
cnt=0;
for(i=0;i<N;i+=3) {
max = a[i];
min = b[i];
for(j=i+1; j<i+3 && j<N; j++) {
if (a[j]>max)
max = a[j];
if (b[j]<min)
min = b[j];
}
max_a[cnt] = max;
min_b[cnt] = min;
cnt++;
}
for(i=0; i<cnt; i++) {
printf(" %d", max_a[i]);
}
printf("\n");
for(i=0; i<cnt; i++) {
printf(" %d", min_b[i]);
}
printf("\n");
N = cnt;
if(N==1)
break;
for(i=0;i<N;i++) {
a[i] = max_a[i];
b[i] = min_b[i];
}
}
return 0;
}
'프로그래밍 > C언어' 카테고리의 다른 글
문자열에 대한 3문제 (0) | 2018.12.07 |
---|---|
포인터에 대한 4문제 (0) | 2018.10.02 |
배열 문제 #6. (0) | 2018.05.20 |
배열 문제 #5. (0) | 2018.05.19 |
배열 문제 #4. (0) | 2018.05.18 |