Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
https://school.programmers.co.kr/learn/courses/30/lessons/181894
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
나의 풀이
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public int[] solution(int[] arr) {
ArrayList<Integer> idxList = new ArrayList<>();
ArrayList<Integer> intList = new ArrayList<>();
for(int i=0; i<arr.length; i++)
if(arr[i]==2)
idxList.add(i);
if(idxList.size() == 1) intList.add(2);
if(idxList.size() == 0) intList.add(-1);
if(idxList.size() > 1) {
for(int i=Collections.min(idxList); i<=Collections.max(idxList); i++)
intList.add(arr[i]);
}
return intList.stream().mapToInt(x->x).toArray();
}
}
다른 사람의 풀이
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr) {
int[] idx = IntStream.range(0, arr.length).filter(i -> arr[i] == 2).toArray();
if (idx.length == 0) return new int[]{-1};
return IntStream.rangeClosed(idx[0], idx[idx.length - 1]).map(i -> arr[i]).toArray();
}
}
'Dev > PS' 카테고리의 다른 글
[프로그래머스-코딩 기초 트레이닝] n 번째 원소부터 (0) | 2023.05.25 |
---|---|
[프로그래머스-코딩 기초 트레이닝] 배열 조각하기 (0) | 2023.05.24 |
[프로그래머스-코딩 기초 트레이닝] 배열 만들기 3 (1) | 2023.05.24 |
[프로그래머스-코딩 기초 트레이닝] 첫 번째로 나오는 음수 (0) | 2023.05.24 |
[프로그래머스-코딩 기초 트레이닝] 리스트 자르기 (0) | 2023.05.24 |