[프로그래머스, 181894] 2의 영역 (java)
Problem Solving/Programmers

[프로그래머스, 181894] 2의 영역 (java)

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/181894

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

728x90

메모리: 98.4 MB, 시간: 2.06 ms

사용 알고리즘: 구현

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        
        int s = -1, e = arr.length;
        
        for(int i = 0; i < arr.length; i++) {
            if(arr[i] == 2) {
                s = i;
                break;
            }
        }
        
        for(int i = arr.length - 1; i >= 0; i--) {
            if(arr[i] == 2) {
                e = i;
                break;
            }
        }
        
        // arr에 2가 없는 경우
        if(s == -1 && e == arr.length) return new int[] {-1};
        
        int[] answer = Arrays.copyOfRange(arr, s, e + 1);
        return answer;
    }
}
728x90