프로그래머스 181894 2의 영역 JAVA

sundays·2023년 5월 31일
0

문제

2의 영역

풀이

이 문제는 투포인터 같이 풀긴 했는데 가장 작은 2의 인덱스와 가장 큰 인덱스를 갱신해주었다

		// 인덱스가 최소 1, 최대 100000 이다
		int min = 100000, max = 1;
        for (int i = 0; i < arr.length; i++) {
        	// 값이 2일경우 갱신
            if (arr[i] == 2) {
                min = Math.min(min, i);
                max = Math.max(max, i);
            }
        }
        
        // max가 min보다 같거나 클때만 적용된다
        if (min <= max) {
            return Arrays.copyOfRange(arr,min,max + 1);
        } else {
            return new int[]{-1};
        }

copyOfRange를 사용하였다. 굉장히 유용한 api인데 아직도 잘 붙지가 않는듯

전체 코드

전체 코드

profile
develop life

0개의 댓글