반응형
프로그래머스 연습문제 중 하나인 없는 숫자 더하기 문제를 풀어보았습니다.
프로그래머스 연습 문제 - 없는 숫자 더하기
문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해 주세요.
제한 사항
numbers는 1~9까지. numbers의 원소는 0~9까지. 모든 원소는 다릅니다.
입출력
1,2,3,4,6,7,8,0 -> 14
5와 9가 없으므로 5 + 9 = 14
5,8,4,0,6,7,9 -> 6
1,2,3 이 없으므로 1 + 2 + 3 = 6
코드
코드는 매우 간단합니다.
local 변수 arr를 하나 만들고 입력받은 numbers에 있는 숫자를 index로 생각하여 check 배열을 만듭니다.
check 배열을 순회하면서 1이 아니라면 answer에 더해서 return 합니다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// numbers_len은 배열 numbers의 길이입니다.
int solution(int numbers[], size_t numbers_len) {
int answer = 0;
int arr[10] = {0,};
for(int i=0;i<numbers_len;i++){
arr[numbers[i]] = 1;
}
for(int i=0;i<10;i++){
if(arr[i] ==0) answer += i;
}
return answer;
}
결론
매우 간단한 문제입니다. 만약 숫자가 늘어난다면 다른 효과적인 방법을 생각해 내야 할 것 같습니다.
'개발 > 자료구조, 알고리즘' 카테고리의 다른 글
[코딩 테스트] 프로그래머스 연습 문제 - 키패드 누르기 (0) | 2023.05.23 |
---|---|
[코딩 테스트] 프로그래머스 연습 문제 - 로또의 최고 순위와 최저 순위 (0) | 2023.05.22 |
[코딩테스트] 프로그래머스 연습 문제 - 신고 결과 받기 (0) | 2023.04.29 |
[코딩 테스트] 프로그래머스 연습 문제 - 달리기 경주 (0) | 2023.04.28 |
[코딩 테스트] 프로그래머스 연습 문제 - 7의 개수 (0) | 2023.02.25 |