JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter7

나열된 수에서 최솟값 최댓값 구하기

giggs 2022. 2. 10. 09:30

 

문제 정의

 

  • 여러 개의 수가 배열에 있을 때 그중 가장 큰 값과 가장 작은 값을 찾는다.
  • 배열의 몇 번째에 있는지 순서를 찾는다.
  • 반복문을 한번만 사용하여 문제를 해결한다.
  • 수의 예 : [10, 55, 23, 2, 79, 101, 16, 82, 30, 45]

 


 

해결하기

 

배열에 있는 수 중 맨 처음에 있는 값을 max와 min으로 가정하고,

배열의 마지막 숫자까지 비교하면서 더 큰 수나 더 작은 수가 나올 때 max와 min의 값을 바꾸도록 한다.

그때의 위치를 변수에 저장한다.

 


 

 

변수 선언

  • 나열된 수의 배열
  • 가장 큰 값 max 가장 작은 값 min 
  • 위치 표시 해줄 maxPos / minPos -> 0번째부터 

 

 

 

 

반복문 선택 

  • for - if - if 포인트! 
  • 배열의 끝까지 확인 numbers.length ( length-1 X )
  • 몇 번째 위치다 알려줄 경우 +1 해주는 것 체크!

 

 

 

 


 

 

review


배열에 0번째 위치한 애를 min과 max로 대입해 준 뒤 비교해나가는 부분이 핵심 포인트 같다.
반복문 하나에 if / if 로 각각 비교해서 각각 필요한 값을 찾는 방법으로 알고리즘 풀이!
몇 번째 위치 알려줄 경우 오해 방지를 위해 +1 체크! 0번째가 아닌 첫 번째라고 하니까 


while로는 만들 수 없을까? 생각이 들어서 만들어 보았다.


성공! ㅜ-ㅜ 
for 문이 더 깔끔한 것 같다 ㅋㅋ