[프로그래머스/181894] 2의 영역

☑️ 문제

프로그래머스 181894

☑️ 풀이

  • arr 에서 원소가 2인 모든 인덱스를 저장하는 List인 index를 하나 생성했고, index 의 크기로 케이스를 나누어서 구간을 리턴했다.
//시간: 15.86ms
//메모리: 102MB

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        List<Integer> list = new ArrayList<>();
        List<Integer> index = new ArrayList<>();

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 2) {
                index.add(i);
            }
        }

        if (index.size() >= 2) {
            for (int i = index.get(0); i <= index.get(index.size() - 1); i++) {
                list.add(arr[i]);
            }
        } else if (index.size() == 1) {
            list.add(2);
        } else if (index.size() == 0) {
            list.add(-1);
        }

        int[] answer = new int[list.size()];
        for (int i = 0 ; i < list.size(); i++) {
            answer[i] = list.get(i);
        }

        return answer;
    }
}

© 2021. All rights reserved.

yaejinkong의 블로그