You will be fine

<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


참고 & 출처  

반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기