두번째로 높은 점수 출력하기

Jiwontwopunch·2021년 12월 5일
0

TIL

목록 보기
12/92
post-thumbnail


나의 접근법은 result1에 max3값(95)을 임시저장하고 arr[i]배열에 그 값을 넣으면 두번째로 큰 정수값인 90이 result값인게 아닌가 하는 것이었다. 정확한 풀이는 아래와 같다.

최댓값을 찾아서 max3에 저장한다. 저장하기 전의 max3은 예를들자면
arr = [70,90,95,80] 의 배열이 있다면
i arr[i] 변경전 max3 변경후 max3
          0 70 0 70
          1 90 70 90
          2 95 90 95
          3 80 90 95 // 여기서는 변경이 없다.
즉 max3값을 변경하기 전 max3값이 두번째로 큰 값이 된다.
따라서 변경하기전 max3값을 다른 변수를 result1에 저장한다.
주의할 점은 순서인데 max3=arr[i]; result1=max3;이라면 max3와
result1의 값이 같아진다는 것이다.
결론은 간단하다. 필요한 값을 저장한 변수(여기서는 변경 전 max3)가
다른 값으로 변경된다면 미리 저장해야된다는점

0개의 댓글