[BAEKJOON - C++] 10818번 : 최소, 최대

정다은·2023년 7월 4일
0

BAEKJOON

목록 보기
53/54
C++ 배우기 (101~150) 이 문제집을 참고하여 문제를 풀었습니다.

2023년 1월 ~ 2월에 프로그래밍을 공부하기 위해 풀었던 문제들이다.

🍑문제

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

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

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

🍑대략적인 틀

  • 첫째줄에 정수의 개수를 입력한다
    • 32,768 to 32,767 의 범위를 가지는 데이터 타입 __int32 를 새로 알게되었다
  • 정수의 개수만큼 정수를 입력받는다
  • maxmin을 추출하여 출력한다.

🍑오류 해결

  • 이상하게 __int32를 초기화 안된 변수로 선언하면 오류가 안드는데 초기화하는 상태로 선언하면 C2065 오류가 났다. 그래서 long으로 바꾸어봤는데 역시 마찬가지 ㅜㅜㅜ

    아 결국 구글링을 해보니까 예기치 않은 ~ 형식입니다는 int a, int b; 이런 형식으로 선언했을 때 나는 오류였다.

  • 다른 사람 코드를 보다가 안건데 vectorinclude 하면 동적배열을 할당하지 않고도 인덱스에 변수를 넣은 배열을 생성할 수 있다.

🍑 작성한 코드

// 최소, 최대

#include <iostream>
using namespace std;

int main() {
	long num, a;
	cin >> num;

	long min = 1000001, max = -1000001;
	for (int i = 0; i < num; i++) {
		cin >> a;
		if (a > max)
			max = a;
		if (a < min)
			min = a;
	}
	cout << min << " " << max;
}
profile
보안 공부하는 대학교 3학년 / 시리즈에서 더욱 편하게 글을 찾아보실 수 있습니다:)

0개의 댓글