문제 출처 - Programmers
문제는 여기
[풀이]
1. 배열에 값을 찾기 쉽게 오름차순 정렬을 해준다.
2. 0~9까지의 숫자를 찾아야 하므로 해당 범위로 반복을 시켜준다.
3. index를 사용해 배열의 값을 가리켜주고, i와 같다면 값을 증가 아니라면 answer에 더해준다.
4. 결과를 출력한다.
[접근]
1. 반복문을 돌려 배열에서 없는 숫자를 찾아 더하면 되겠다고 생각하였고 해당 방법으로 문제를 풀었다.
[코드]
import java.util.*;
class Solution {
public int solution(int[] numbers) {
int answer = 0; // 정답
int index = 0; // 배열의 위치를 가리킬 인덱스
// 오름차순으로 정렬
Arrays.sort(numbers);
// 0~9까지 포함된 숫자를 체크하기 위해
// 0~9까지 반복
for (int i = 0; i < 10; i++) {
// 배열의 위치가 numbers의 길이보다 작고
// 배열의 인덱스 위치 값이 i와 같다면
if (index < numbers.length && numbers[index] == i) {
index++; // 인덱스 값 증가
continue;
}
// 아니라면 없다는 뜻이니까 answer에 값 더하기
answer += i;
}
return answer;
}
}
'문제 풀이 > Programmers' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (JAVA) (0) | 2022.03.21 |
---|---|
[프로그래머스] [1차] 뉴스 클러스터링 (JAVA) (0) | 2022.03.18 |
[프로그래머스] 3진법 뒤집기 (JAVA) (0) | 2022.03.16 |
[프로그래머스] 이진 변환 반복하기 (JAVA) (0) | 2022.03.15 |
[프로그래머스] 두 개 뽑아서 더하기 (JAVA) (0) | 2022.03.14 |