일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 풀스택
- 루비 초보
- 스택 삭제
- grid html
- 괄호 짝 잘맞는지
- restapi graphql
- 스택 유효성
- grid flex
- rest gql
- golang
- 중위수식
- Django tutorial
- https://stackoverflow.com/questions/219110/how-python-web-frameworks-wsgi-and-cgi-fit-together/219124#219124
- 자료구조 데크
- 풀스택?
- 스택 구현
- 스택 자료구조
- go
- 중위수식을 후위수식
- 데크 구현
- flex html
- rest graphql
- 스택 삽입
- 스택 중위수식
- 스택 괄호
- 스택 후위수식
- 후위수식
- 장고 웹 만들기
- 괄호 유효성
- 장고 하는법
- Today
- Total
donchanee
배열 문제 #2. 본문
#2. 사용자에게서 4~10사이의 입력받을 정수의 개수, N을 입력 받는다.
- 사용자에게서 정수 N 개를 입력 받아 배열 x[ ]에 저장한다.
- 입력받은 정수를 짝수와 홀수로 구분하여 각각 배열 e[ ], o[ ]에 저장 후 출력하시오.
- Hint: 변수 j = 배열 e의 원소에 대한 인덱스 저장
변수 k = 배열 o의 원소에 대한 인덱스 저장
- 출력할 것이 없으면 none을 출력하시오. (예시 2를 보시오)
## 나의 풀이
#include <stdio.h>
int main(void){
int x[10], e[10] = {0}, o[10] = {0};
int i, j=0, k=0, N; // 변수 선언
scanf("%d", &N);
for(i=0;i<N;i++) // 배열과 N을 입력받는다.
scanf("%d", &x[i]);
for(i=0;i<N;i++) {
if (x[i]%2==0) // 2로 나누어지면 짝수
e[i] = x[i];
if (x[i]%2==1) // 아니면 홀수
o[i] = x[i];
}
printf("Even:\n");
for(i=0;i<10;i++) {
if(e[i]!=0) // 0이 아니라면 출력
printf("%d\n", e[i]);
else
j++; // 전부 짝수가 아니면 none을 출력위해
}
if (j==10)
printf("none\n"); // j에 ++를 해주고 10일경우 출력
printf("Odd:\n");
for(i=0;i<10;i++) {
if(o[i]!=0) // 홀수 출력부
printf("%d\n", o[i]);
else
k++; // 마찬가지로 k를 사용
}
if (k==10)
printf("none\n"); // 10일경우 none을 출력
return 0;
}
# 교수님의 풀이
#include <stdio.h>
int main(void){
int x[10], e[10], o[10], i, j=0, k=0, N;
scanf("%d", &N);
for(i = 0; i<N; i++) {
scanf("%d", &x[i]);
}
for(i=0;i<N;i++) {
if (x[i] % 2 == 0) {
e[j] = x[i];
j++;
}
else {
o[k] = x[i];
k++;
}
}
printf("Even\n");
if (j>0) {
for(i=0;i<j;i++) {
printf("%d\n", e[i]);
}
}
else {
printf("none\n");
}
printf("Odd\n");
if (k>0) {
for(i=0;i<k;i++) {
printf("%d\n", o[i]);
}
}
else {
printf("none\n");
}
return 0;
}
교수님의 풀이에서는 j와 k의 값을 활용하여 e 배열과 o 배열의 처음부터 값을 입력할 수 있는 부분이 배울 점이다.
여기에서 나는 배열을 전부 0으로 만든 뒤 0이 아닐경우 출력하기로 하였는데, 이는 빈공간을 만들 수 있고, 배열 사이사이에 빈칸이 생긴다는 점에서 단점이다.