728x90
반응형
#8
정수 배열(int array)이 주어지면 두번째로 큰 값을 프린트하시오.
예제)
Input: [10, 5, 4, 3, -1]
Output: 5
Input: [3, 3, 3]
Output: Does not exist.
for문을 한번 사용해서 풀어야 한다. 2번 째로 큰 수가 존재하지 않는 경우는 2가지가 존재한다. 원소가 2개가 안될 경우와 모든 원소가 같을 경우이다. 이 부분만 잘 처리를 해주면 쉽게 풀어갈 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public static int solution(int[] array) { if(array.length < 2) { System.out.println("Does not exist"); return 0; } int first = array[0]; int second = Integer.MIN_VALUE; for(int i=1; i<array.length; i++) { if(first < array[i]) { second = first; first = array[i]; }else if(array[i] != first && second < array[i]) { second = array[i]; } } if(second == Integer.MIN_VALUE) { System.out.println("Does not exist"); return 0; } return second; } | cs |
728x90
반응형
'프로그래밍 노트 > 알고리즘' 카테고리의 다른 글
[JAVA] 병합정렬,합병정렬(Merge Sort) (0) | 2018.04.26 |
---|---|
코딩테스트 #9 (0) | 2018.04.25 |
[JAVA] 퀵정렬(Quick Sort) (0) | 2018.04.18 |
코딩테스트 #7 (0) | 2018.04.12 |
코딩테스트 #6 (2) | 2018.04.10 |