<Algorithm> 99. K번째수(프로그래머스)
by BFine반응형
1. K번쨰수
단순히 문제해결하면 되는 문제
문제를 푸는 것보다 stream api를 활용할때 index를 알고 싶다면 AtomicInteger 활용해야 겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.IntStream; public class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int idx = 0; /****************************** * 단순 문제해결, 배열을 자르고 * map으로 변환 후 정렬하고 * k번째를 찾으면 된다. *******************************/ for(int[] arr : commands) { int i = arr[0]; int j = arr[1]; int k = arr[2]; AtomicInteger atomicInteger = new AtomicInteger(0); answer[idx++]= IntStream.range(i-1, j).mapToObj(cnt->array[cnt]) .sorted().filter(in->atomicInteger.incrementAndGet()==k) .findFirst() .get(); } return answer; } } | cs |
참고 & 출처
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 101. 2234번 성곽 (0) | 2019.02.04 |
---|---|
<Algorithm> 100. 16197번 두동전 (0) | 2019.02.03 |
<Algorithm> 98. 더맵게(프로그래머스) (0) | 2019.02.01 |
<Algorithm> 97. 쇠막대기(프로그래머스) (0) | 2019.01.31 |
<Algorithm> 96. 완주하지 못한 선수(프로그래머스) (0) | 2019.01.30 |
블로그의 정보
57개월 BackEnd
BFine