Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
more
Archives
Today
Total
관리 메뉴

자이의 프로그래밍

두 번째 최솟값 찾기 본문

Algorithm/Cases-BOJ

두 번째 최솟값 찾기

Xi_kor 2020. 4. 25. 11:25

문제

 

9개의 서로 다른 자연수가 주어질 때, 이들 중 두 번째 최솟값을 찾고, 그 두 번째 최솟값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 두 번째 최솟값은 12이고, 이 값은 4번째 수이다.

 

입력

 

첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 10,000,000 보다 작다.

 

출력

 

첫째 줄에 두 번째 최솟값을 출력하고, 둘째 줄에 두 번째 최솟값이 몇 번째 수인지를 출력한다.

 

예제 입력

3

29

38

12

57

74

40

85

61

 

예제 출력

12

4

 

------------------------------------------------------------------------------------------------------------------------------

가장 작은 최솟값을 찾고, 그것보단 크면서 다른 수보다 작은 수를 찾는 방식으로 진행했다.

#include  <iostream>
using namespace std; 

int main() { 
	int arr[15]; 
	int b; 
	for (int i = 0; i < 9; i++) { 
		cin >> arr[i]; 
	} 
	int a = arr[0]; 
	for (int i = 0; i < 9; i++) { 
		if (arr[i] <= a) 
			a = arr[i]; 
	} 
	if (a != arr[0]) b = arr[0]; 
	else b = arr[1]; 

	for (int i = 0; i < 9; i++) { 
		if (arr[i] > a && arr[i] <= b) 
		b = arr[i]; 
	} 
	cout << b << endl; 
  	for (int i = 0; i < 9; i++) { 
		if (arr[i] == b) { 
			cout << i + 1 << endl; 
		} 
	} 

	return 0; 
}

 

'Algorithm > Cases-BOJ' 카테고리의 다른 글

삼각형 출력2  (0) 2020.04.25
삼각형 출력1  (0) 2020.04.25
Card Game  (0) 2020.04.25
Binary  (0) 2020.04.25
Array3  (0) 2020.04.18