IT/Programmers
[Programmers/코딩테스트 연습] 진료순서 *****stream 예제 다시 볼 것*****
안선생 Dr.Ahn
2022. 12. 4. 07:16
728x90
반응형
진료순서 정하기 (Java)
class Solution {
public int[] solution(int[] emergency) {
int[] answer = new int[emergency.length];
for (int i = 0; i < emergency.length; i++) {
answer[i] = 1;
for(int j = 0 ; j < emergency.length ; j++) {
if(emergency[i] < emergency[j]) answer[i]++;
}
}
return answer;
}
}
에휴
import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Collectors;
//가 들어간 유사한 답변들.. 인 줄 알았는데 그냥 띄어쓰기만 다른 코드였음
class Solution {
public int[] solution(int[] e) {
return Arrays.stream(e)
.map(i -> Arrays.stream(e)
.boxed()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList())
.indexOf(i) + 1)
.toArray();
}
}
1) boxed() : int to stream
2) sorted(Comparator.reverseOrder()) : 내림차순 정렬
cf. sorted() : 오름차순 정렬
3) collect(Collectors.toList()) : stream 요소를 list 자료형으로 변환
cf. stream.collect() : stream 요소를 다른 자료형으로 변환
cf. Collectors.toSet() : set 자료형으로 변환
4) indexOf(i) : list에서 해당 요소가 나타나는 index 반환 (없으면 -1)
?
모르겠다 이건 진짜 에이씨 다시 공부하기
728x90
반응형