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

Dreamer·2024년 2월 5일
0
post-thumbnail

문제

2의 영역 문제

정수 배열 arr에서 배열 안에 2가 모두 포함된 연속 부분 배열 return 
arr에 2가 없으면 -1 return

나의 풀이

어떻게 풀지?
for문으로 2와 같을 때의 index를 저장
index를 arr에 저장해서 맨처음 - 맨뒤 수 사용
맨처음 - 맨끝 index로 result배열에 저장해서 출력

생각보다 index가 헷갈려서 시간이 걸렸다..🥲
result를 처음에 Array로 만들었다가 헷갈려서 list -> array로 담았다.

성공 인증

import java.util.*;
class Solution {
    public int[] solution(int[] arr) {
   
   
   		// 2와 같을 때의 index 저장
        ArrayList<Integer> index = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            int two = 2;
            if (arr[i] == 2) {
                index.add(i);
            }
        }
        
        ArrayList<Integer> temp = new ArrayList<>();
        if (index.size() == 0) {	// 2가 없으면 -1 저장
            temp.add(-1);	
        } else {
            for (int i = index.get(0); i <= index.get(index.size() - 1); i++) { 
                temp.add(arr[i]);
            }
        }
        
        // List -> Array로 옮겨주기
        int[] result = new int[temp.size()];
        for (int i = 0 ; i < temp.size(); i++) {
            result[i] = temp.get(i);
        }
        
        return result;
        
    }
}

더 쉬운 풀이가 있을 것 같아서 다른 풀이 참고하기

profile
Moving forward based on records

0개의 댓글