프로그래머스 순열 검사 자바 문제풀이

프로그래머스 순열 검사 자바 문제풀이

반응형

프로그래머스 순열 검사

다음 문제는 int 배열을 받아

1부터 배열의 길이에 해당하는 숫자가

모두 들어있을 경우에는 true

그렇지 않거나 중복 값이 들어있을 경우에는

false를 반환하면 되는 문제인데

풀이방법은 아래와 같다

먼저 배열의 크기와 배열에 들어있는 값으로

true / false를 반환해주면 되기 때문에

배열을 오름차순으로 정렬시킨 뒤

for 문을 돌려보면

arr[0] > 1

arr[1] > 2

이런 식으로 값이 나오게 될텐데

배열은 0부터 시작하고

배열 안의 값은 1부터 시작하기 때문에

배열의 각 값과 i + 1이 같을 경우에는 패스

아닐 경우에는 배열에 중복 값이 들어있거나

혹은 배열에 잘못된 값이 들어있기 때문에

바로 false를 리턴시켜주면 된다

예제에 사용한 코드는 아래와 같다

import java.util.Arrays; class Solution { public boolean solution(int[] arr) { boolean answer = true; Arrays.sort(arr); // 배열 오름차순 정렬 for(int i = 0; i

반응형

from http://wakestand.tistory.com/687 by ccl(A) rewrite - 2021-11-17 16:27:27