개발(0)/CodingTest
[프로그래머스/Level1]없는 숫자 더하기 - 자바
까만밀가루
2024. 5. 8. 19:53
https://school.programmers.co.kr/learn/courses/30/lessons/86051
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제 풀이]
: 숫자가 0 ~ 9 로 확정되었기 때문에, set으로 설정 한 뒤 0 ~ 9 사이 for문을 돌면서 set에 포함이 되어있지 않다면 그 값들을 더한다.
public class 없는_숫자_더하기 {
public static void main(String[] args) {
int[] numbers = {1,2,3,4,6,7,8,0};
System.out.println(solution(numbers));
}
public static int solution(int[] numbers){
int answer = 0;
Set<Integer> set = new HashSet<>();
for (int num : numbers) {
set.add(num);
}
for(int i = 0 ; i < 10 ; i++){
if(!set.contains(i)){
answer += i;
}
}
return answer;
}
}
[(다른 사람의)더 간단한 풀이]
배열 → Arrays.sort() , 포함 → contatins
이런식의 사고가 고정되어있다보니 위의 해설처럼 풀었는데 0 ~ 9 등 주어진 숫자에선 숫자 빼기를 활용하자..
total sum = 45
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}