문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.- 1 ≤ numbers의 길이 ≤ 9- 0 ≤ numbers의 모든 원소 ≤ 9- numbers의 모든 원소는 서로 다릅니다.
[ 풀이 ]
//import java.util.Arrays;
class Solution {
public int solution(int[] numbers) {
//1번째 방법
int answer = 45;
for(int num : numbers){
answer -= num;
}
/*
//2번째 방법
int answer = 0;
int[] nums = new int[10];
for(int i = 0; i < 10; i++){
nums[i] = i;
}
int i = 0;
for(int num : nums){
for(int number : numbers){
if(num == number){
nums[i] = 0;
break;
}
}
i++;
}
for(int num : nums){
answer += num;
}*/
return answer;
//다른사람 풀이
//return 45-Arrays.stream(numbers).sum();
}
}
1번째 방법은 조건이 numbers의 모든 원소는 서로 다르다고 해서 0~9를 합한 값에서 빼면 코드가 간결하고 쉽게 해결될 것 같아서 처음엔 이런식으로 풀었다. 만약에 numbers의 원소가 중복된 값이 들어가게 되면 1번째 방법은 사용할 수 없을 것 같아서 중복된 원소가 있어도 만들 수 있는 소스코드도 한번 구현을 해보았다!
다른사람 풀이를 보니깐 배열에 저장된 데이터 총합을 구하는 메소드가 있어서 알아두면 유용하게 사용할 것 같다!
[ 코드 풀이 ]
Arrays.stream(배열).sum()
- 배열에 저장된 데이터 합계를 구하는 메소드
- import java.util.Arrays; 클래스 선언 필요
728x90
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 - java ] 내적 (월간 코드 챌린지 시즌1) (0) | 2022.03.23 |
---|---|
[ 프로그래머스 - java ] 음양 더하기(월간 코드 챌린지 시즌2) (0) | 2022.03.23 |
[ 프로그래머스 - java ] 크레인 인형뽑기 게임 (2019 카카오 개발자 겨울 인턴십) (0) | 2022.03.22 |
[ 프로그래머스 - java ] 키패드 누르기 (2020 카카오 인턴십 ) (0) | 2022.03.21 |
[ 프로그래머스 - java ] 숫자 문자열과 영단어 (2021 카카오 채용연계형 인턴십 ) (0) | 2022.03.21 |
댓글