2022년 7월 1일에 작성됨
https://www.codeup.kr/problem.php?id=1095
[기초-1차원배열] 이상한 출석 번호 부르기3(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
www.codeup.kr
문제 분석
번호 부른 횟수(n)와 n개의 랜덤 번호를 입력한다. 그 중 가장 빠른 번호 (=가장 작은 숫자)를 출력한다.
소스 코드 (⭕)
#include <stdio.h>
int main()
{
int arr[10001] = { 0, };
int num, min = 24;
scanf("%d", &num); // 개수 입력 받기
for (int i = 1; i <= num; i++) { // 개수 만큼 입력 받기
scanf_s("%d", &arr[i]);
if (min > arr[i]) { // arr[i]이 min보다 작으면 min에 arr[i]을 넣어준다.
min = arr[i];
}
}
printf("%d", min);
return 0;
}
코드 분석
1. 입력 받을 개수인 num을 입력해주고, 그 수 만큼 숫자를 차례대로 배열에 입력받는다.
2. if 문에서 arr[i]이 min보다 작으면 min에 arr[i]을 넣어주는 과정을 반복한다.
3. 결과적으로 min이 최솟값을 가지게 되고 그 값을 출력해준다.
-> 자세한 설명은 이전 포스트 참고!
end
if문을 사용하여 min보다 배열 값이 작으면 min에 대입하여 결과적으로 min이 최솟값이 된다는 방법은 정말 간단하지만 쉽게 생각하지 못했던 방법이었다. 사고의 폭을 넓힐려면 문제를 많이 풀어보는 수 밖에 없을 것 같다.
'코딩테스트 & 문제 풀이' 카테고리의 다른 글
[C]백준_10250 : ACM 호텔 (0) | 2023.04.27 |
---|---|
[C]백준_2775 : 부녀회장이 될테야 (0) | 2023.04.26 |
[C]코드업_1093 : [기초-1차원배열] 이상한 출석 번호 부르기1 (0) | 2023.04.24 |
[C]코드업_1370 : 지그재그 출력하기 (0) | 2023.04.23 |
[C]코드업_1074 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기1 (2) | 2023.04.22 |