[C언어] 백준 10818번 : 최소, 최대

2023. 9. 12. 10:05·Programming Language/C

✅ 문제 제출

 

📄 문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

 

⌨️ 입력

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

 

🖥️ 출력

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

 

🧪 예제

  • 예제 입력
5
20 10 35 30 7
  • 예제 출력
7 35

 

✏️ 문제 풀이

#include <stdio.h>
#include <stdlib.h>

int main() {
	int N = 0;
	int max = 0, min = 0;
	int* arr;

	scanf("%d", &N);
	arr = (int*)malloc(N * sizeof(int));	// malloc을 이용해 배열을 동적 할당으로 선언

	for (int i = 0; i < N; i++) {	// 배열에 값을 넣어주는 for문
		scanf("%d", &arr[i]);
	}

	max = arr[0];
	min = arr[0];

	for (int i = 1; i < N; i++) {	// 최대, 최소 값을 구하는 구문
		if (max < arr[i])
			max = arr[i];
		if (min > arr[i])
			min = arr[i];
	}
	free(arr);	// 동적할당 후, free 함수를 통해 메모리를 해제 시켜주어야 함. (메모리 누수 방지)
    
	printf("%d %d", min, max);
}

 

1000,000의 크기를 가진 배열을 선언하는 것보다 동적 할당을 해주는 것이 더욱 메모리 측면에서 효율적이므로,

malloc을 이용한 동적할당 방법을 서치하여 코드를 작성하였다.

계속 동적할당을 해주어서 그런지 채점을 하는 데에 시간이 꽤 소요되었다.

 

C를 오랜만에 작성해보니 기억이 약간 가물 가물 해졌다. 꾸준히 해야할 듯...

그리고 malloc을 내 마음대로 사용하기 위해 공부를 더 해봐야겠다. 

 

저작자표시 비영리 (새창열림)

'Programming Language > C' 카테고리의 다른 글

[C언어] 백준 2562번 : 최댓값  (0) 2023.09.14
[C언어] 동적 할당 : malloc()  (0) 2023.09.12
[C언어] Call By Value & Call By Reference  (0) 2023.06.16
C 포인터(Pointer)  (1) 2023.06.07
백준 2480번 : 주사위 세개  (0) 2022.06.23
'Programming Language/C' 카테고리의 다른 글
  • [C언어] 백준 2562번 : 최댓값
  • [C언어] 동적 할당 : malloc()
  • [C언어] Call By Value & Call By Reference
  • C 포인터(Pointer)
602zzang
602zzang
  • 602zzang
    yks_STUDY
    602zzang
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Programming Language (36)
        • C (15)
        • PYTHON (9)
        • RUST (12)
      • Reverse Engineering (3)
      • OS (17)
        • LINUX (17)
      • 보안 이슈 (6)
      • Digital Forensics (1)
      • CTF (8)
      • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    bandit
    공급망
    rust
    파이썬
    드림핵
    보안이슈
    TeamH4C
    P4C
    umassctf2025
    코드업
    Rocky Linux
    python
    c
    빡공팟
    rustling
    백준
    cyberdefenders
    소켓 통신
    보안동향
    picoCTF
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
602zzang
[C언어] 백준 10818번 : 최소, 최대
상단으로

티스토리툴바