반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 문자열
- 10926
- 백준
- 알고리즘
- 10807
- 입문
- Beakjoon
- 문제풀이
- implement
- 꾸준히
- C
- 구현
- greedy
- Implemention
- 초보
- C 언어
- Baekjoon
- C Programming
- 코드엔진
- HTML
- 파이썬
- VS
- CSS
- Python
- 그리디
- c언어
- 친절한 설명
- 심화1
- 정리
- 설명
Archives
- Today
- Total
안경잡이 구루루
백준 10871 ( X 보다 작은 수) [ C programming ] 본문
C언어(C programming)/문제풀이(백준,BaekJoon)
백준 10871 ( X 보다 작은 수) [ C programming ]
구루루(gururu) 2020. 5. 26. 15:56반응형
나:
#include <stdio.h>
#include <malloc.h>
int main() {
int *Nlist,N, X;
scanf("%d %d", &N, &X);
Nlist = (int*)malloc(sizeof(int) * N);
for (int i = 0; i < N; i++) {
scanf("%d", (Nlist + i));
if (Nlist[i] < X) printf("%d ",Nlist[i]);
}
return 0;
}
완성된 코드는 위와 같다.
#include <stdio.h>
#include <malloc.h>
int main() {
int *Nlist,N, X;
scanf("%d %d", &N, &X);
Nlist = (int*)malloc(sizeof(int) * N);
어느정도 크기의 N을 받을지 모르기 때문에 사용자의 입력값에 따라 크기를 정해야 메모리 낭비를 줄일 수 있다.
배열은 선언시 무조건 정수로 써야하기 때문에 변수를 사용할 수 있는 동적할당을 사용하기로 했다.
malloc 을 사용하기 위해서 #include 로 관련 해더파일( < malloc.h > )을 가져온다.
scanf로 N과 X의 사용자 입력값을 받는다.
Nlist라는 포인터를 만들어 포인트 변수에 malloc의 sizeof 크기만큼 할당하고 메모리의 사용단위를 결정하지 않고 void* 형식으로 주소를 반환하기 때문에 형 변환( casting )을 통해서 (int * )로 주소를 반환.
이때 N의 개수에 따라 sizeof 크기를 할당한다.
for (int i = 0; i < N; i++) {
scanf("%d", (Nlist + i));
if (Nlist[i] < X) printf("%d ",Nlist[i]);
}
return 0;
}
동적메모리 할당된 곳에 사용자 입력값을 받는다.
이때 i를 이용해 포인터 주소 연산방식을 사용해 int단위로 입력값을 받는다.
각 입력값이 X보다 작으면 출력하기 위해 if 구문을 사용했다. 또한 한칸씩 띄어서 출력하기 위해 %d 뒤 한칸을 띔
다른사람:
https://rightbellboy.tistory.com/74
#include <stdio.h>
int main() {
int n, x;
scanf("%d %d", &n, &x);
int value;
for (int i = 0; i < n; ++i) {
scanf("%d", &value);
if (value < x) printf("%d ", value);
}
return 0;
}
완성된 코드는 위와 같다.
배열로 다 받고나서 비교하지 않고 입력값을 받자마자 비교해 출력하는 방식을 이용할 수 있다.
int value;
for (int i = 0; i < n; ++i) {
scanf("%d", &value);
if (value < x) printf("%d ", value);
}
return 0;
value 라는 새로운 변수를 만들어 받은 사용자 입력값과 X 를 비교해 printf 해서 바로바로 출력한다.
반응형
'C언어(C programming) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10039( 평균 구하기 ) [ C programming ] (0) | 2020.05.28 |
---|---|
백준 2439 ( 별 찍기- 2 ) [ C programming ] (0) | 2020.05.26 |
백준 2438 ( 별 찍기 -1 ) [ C programming ] ( 오답노트 ) (0) | 2020.05.23 |
백준 11022 ( A+B -8 ) [ C programming ] (0) | 2020.05.23 |
백준 11021 ( A+B -7 ) [ C programming ] (0) | 2020.05.23 |