문제 링크 : https://www.acmicpc.net/problem/20053
목차
1. 설명
2. 내 코드
3. 문제 풀이 해석 내용
4. 실행 결과
설명
백준 브론즈 3 문제 입니다.
문제명 : 최소, 최대 2
내 코드
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
std::cout.tie(NULL);
int n;
cin >> n;
while(n--)
{
int cnt;
cin >> cnt;
vector<int> arr(cnt);
for (int j = 0; j < cnt; ++j)
{
cin >> arr[j];
}
int maxVal = arr[0];
int minVal = arr[0];
for (int i = 1; i < cnt; ++i)
{
if (arr[i] < minVal) minVal = arr[i];
if (arr[i] > maxVal) maxVal = arr[i];
}
cout << minVal << " " << maxVal << endl;
}
}
문제 풀이 해석 내용
테스트 케이스 개수 입
int n;
cin >> n;
int n; cin >> n;: 사용자로부터 처리할 테스트 케이스의 개수 n을 정수로 입력받습니다.
테스트 케이스 처리 루프
while(n--)
{
// ... (내부 코드) ...
}
while(n--): n번 반복하는 루프입니다.
루프가 한 번 실행될 때마다 n의 값이 1씩 줄어들어 0이 되면 루프가 종료됩니다.
각 반복은 하나의 테스트 케이스를 처리합니다.
각 테스트 케이스 내부
int cnt;
cin >> cnt;
vector<int> arr(cnt);
for (int j = 0; j < cnt; ++j)
{
cin >> arr[j];
}
int cnt; cin >> cnt;: 현재 테스트 케이스에서 처리할 배열의 크기 cnt를 입력받습니다.
vector<int> arr(cnt);: 크기가 cnt인 정수형 벡터 arr을 선언합니다.
이 벡터에 현재 테스트 케이스의 숫자들을 저장할 것입니다.
for (int j = 0; j < cnt; ++j) { cin >> arr[j]; }: cnt번 반복하면서 사용자로부터 정수 cnt개를 입력받아
arr 벡터에 순서대로 저장합니다.
최소값 및 최대값 초기화 및 탐색
int maxVal = arr[0];
int minVal = arr[0];
for (int i = 1; i < cnt; ++i)
{
if (arr[i] < minVal) minVal = arr[i];
if (arr[i] > maxVal) maxVal = arr[i];
}
int maxVal = arr[0]; int minVal = arr[0];: 배열 arr의 첫 번째 요소를 임시 최소값(minVal)과
최대값(maxVal)으로 초기화합니다. 배열에 요소가 최소 1개 있다고 가정합니다.
for (int i = 1; i < cnt; ++i): 배열의 두 번째 요소부터 끝까지 반복하는 루프입니다.
if (arr[i] < minVal) minVal = arr[i];: 현재 요소 arr[i]가 현재까지의
최소값 minVal보다 작으면 minVal을 arr[i]로 업데이트합니다.
if (arr[i] > maxVal) maxVal = arr[i];: 현재 요소 arr[i]가 현재까지의
최대값 maxVal보다 크면 maxVal을 arr[i]로 업데이트합니다.
결과 출력
cout << minVal << " " << maxVal << endl;
현재 테스트 케이스에서 찾은 최소값 minVal과 최대값 maxVal을 공백으로 구분하여 출력하고,
endl을 사용하여 줄바꿈을 합니다.
'
실행 결과

'c++' 카테고리의 다른 글
| 백준 c++ 9012 문제 풀이 (0) | 2025.05.07 |
|---|---|
| 백준 c++ 14724 문제 풀이 (0) | 2025.05.01 |
| 백준 c++ 5524 문제 풀이 (0) | 2025.04.29 |
| 백준 c++ 1009 문제 풀이 (0) | 2025.04.22 |
| 백준 c++ 5363 문제 풀이 (0) | 2025.04.21 |