[Array] Third Maximum Number

2021. 1. 11. 23:17프로그래밍-코딩테스트/LeetCode

Given integer array nums, return the third maximum number in this array. If the third maximum does not exist, return the maximum number.

 

대충보고 쉽다고 생각했다가 30분 헤멤 ㅠㅠ

 

이게 문제가 뭐냐면

 

- Set으로 변환하자니, Set변환으로 인해 길이가 3미만으로 줄어드는 케이스를 커버하지 못하고

- Array만 두고 최댓값으로 찾아 풀자니, 세번째 큰 수를 찾기 위해선 다시 for를 돌아야 한다는 극혐상황이 생겼다

 

첫번째는 어차피 복잡해질것 같고, 두번째 조건으로 Loop를 잘 돌아보는 쪽으로 해결을 찾아봤다.

일단 길이를 직접적으로 판단할수가 없다.

이런 경우에는 가상으로 Index를 두면 편하다

주의할 점은, Index가 input으로 선언된 최소값보다 작아야 한다는 것.

여기선 모든 integer가 대상이므로, 피치못하게 -Infinity를 기준으로 삼았다

 

 

'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글

[Linked List] Reverse Linked List  (0) 2021.01.13
[Array] Find All Numbers Disappeared in an Array  (0) 2021.01.11
[Array] Height Checker  (0) 2021.01.08
[Array] Sort Array By Parity  (0) 2021.01.08
[Array] Move Zeroes  (0) 2021.01.08