반응형
***** 문제 설명 ******
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
***** 제한사항 *****
1. 1 ≤ numbers의 길이 ≤ 9
2. 0 ≤ numbers의 모든 원소 ≤ 9
3. numbers의 모든 원소는 서로 다릅니다.
***** 내가 시도한 풀이 *****
1
2
3
|
public static int solution(int[] numbers) {
return 45 - Arrays.stream(numbers).sum();
}
|
cs |
처음에는 이중 for문으로 해당 값을 일일이 비교한다음 0~9 까지 숫자중 없는 부분을 더하는 로직을 작성하였는데
생각해보니 제한사항에 마지막 3번 모든 원소가 다르다는 점이 생각났습니다.
그래서 모든 로직을 지우고
기존의 들어 갈수 있는 모든 수의 합인 45에 파라미터로 받은 int 배열의 합을 전부 더한 값을 빼면 같은 값으로 나올 수 있다고 생각되어 해당 로직으로 수정하였습니다.
반응형
'Algorithm & Data Structure > Algorithm' 카테고리의 다른 글
[프로그래머스] 수박수박수박수박수박수? 풀이 (0) | 2023.11.13 |
---|---|
[프로그래머스]제일 작은 수 제거하기 (1) | 2023.11.12 |
[프로그래머스]서울에서 김서방 찾기 풀이 (0) | 2023.11.10 |
[프로그래머스] 콜라츠 추측 풀이 for Java (0) | 2023.11.09 |
[Algorithm] Swift 핸드폰 번호 가리기 (0) | 2022.07.04 |