일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 graphql
- Django tutorial
- 스택 삭제
- go
- 괄호 유효성
- 중위수식을 후위수식
- 루비 초보
- 스택 구현
- 스택 유효성
- https://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together/219124#219124
- 스택 괄호
- 풀스택?
- restapi graphql
- 스택 자료구조
- 장고 하는법
- 데크 구현
- golang
- grid html
- 자료구조 데크
- 괄호 짝 잘맞는지
- flex html
- rest gql
- 후위수식
- grid flex
- 풀스택
- 스택 중위수식
- 장고 웹 만들기
- 스택 삽입
- Today
- Total
donchanee
배열 문제 #6. 본문
위와같은 문제이다.
정수를 입력받아 거꾸로 출력한 뒤, 3개씩 묶어 그 세개의 숫자 중 가장 큰수, 가장 작은수를 출력하는 문제이다.
#include <stdio.h>
int main(void){
int N, i, j, a[20];
int max_a[20], min_a[20], max, min, cnt;
scanf("%d", &N);
for(i=0;i<N;i++)
scanf("%d", &a[i]);
for(i=N-1;i>=0;i--)
printf(" %d", a[i]);
printf("\n");
cnt=0;
for(i=0;i<N;i+=3) {
min = max = a[i];
for(j=i+1; j<i+3 && j<N; j++) {
if (a[j]>max)
max = a[j];
if (a[j]<min)
min = a[j];
}
max_a[cnt] = max;
min_a[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_a[i]);
}
return 0;
}
처음에 cnt 라는 변수를 설정한다. 그 뒤 3개씩 묶기위한 for문을 작성하고, 초기값을 설정한다.
다음, 3개씩 묶은곳에서 최대값, 최소값을 정하여서 max와 min변수에 넣는다.
그 후 cnt값을 하나씩 증가시키면서 배열 max_a, min_a에 대입한다.
cnt값을 설정하는게 포인트.