되는대로 살자

[C언어 기출문제&풀이] 최소 위치 출력 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 최소 위치 출력

malu 2011. 8. 11. 21:20
프로그램 명: pmin
제한시간: 1 초

수열이 주어질 때 이 수열에 있는 수 중 최소값의 위치를 모두 출력하는 프로그램을 작성하시오.

입력

입력의 첫 줄은 수열의 개수 n 이다.( 1 <= n <= 100 ) 다음 줄에는 n 개의 수가 주어진다. ( 모든 수는 1000 이하의 음이 아닌 정수) 차례대로 첫번째 , 두번재 , ....

출력

최소값의 위치를 순서대로 출력한다.

입출력 예

입력

4 
5 2 10 2

출력

2 4
출처:
채점 데이터:

풀이 : 일단 최소값을 구하는 프로그램을 먼저 만들어 봅니다.
최소값을 구하는 프로그램은
1. 모든 값을 순회하면서 다음 값을 조사한다.
2. 이것이 여태까지 나온 최소값보다 작은가?
3. 작으면 저장한다.
뭐 이렇게 최소값을 구하는 프로그램을 만들어 놓고 다음을 추가하면 됩니다.
1.최소값을 저장하는 것을 배열로 저장하여야 합니다.( 최소값의 위치는 여러개니까)
2.최소값을 저장할때 이것이 처음 나온 최소값인지 여태나오던 최소값인지를 비교합니다.
3.만약 처음 나온 최소값이면 최소값을 저장하는 스택의 top을 초기화시켜줍니다.
4.계속 나오던 최소값이라면 top을 더하여 줍니다.