More actions
imported>jaehoon0429 No edit summary |
imported>jaehoon0429 No edit summary |
||
| Line 1: | Line 1: | ||
Describe 새싹교실/2020/이찌반/김재훈 here | Describe 새싹교실/2020/이찌반/김재훈 here | ||
__TOC__ | |||
==Level1== | ==Level1== | ||
=== | ===두개 뽑아서 더하기=== | ||
#include <stdbool.h> | |||
#include <stdlib.h> | |||
// numbers_len은 배열 numbers의 길이입니다. | |||
int* solution(int numbers[], size_t numbers_len) { | |||
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. | |||
int TimesOfNumbers[201] = {0, }; //더한 결과값을 나타내는 배열, ex)1+1=2 -> 배열의 2번째 칸 값을 1 증가 | |||
int sizeOfArr=0; //동적할당할 배열의 크기 | |||
for(int i=0; i<numbers_len; i++) { | |||
for(int j=i+1; j<numbers_len; j++) | |||
TimesOfNumbers[numbers[i]+numbers[j]]++; | |||
} | |||
for(int i=0; i<=200; i++) { | |||
if(TimesOfNumbers[i]) | |||
sizeOfArr++; | |||
} | |||
int* answer = (int*)malloc(sizeof(int)*sizeOfArr); | |||
//TimesOfNumbers의 n번째 인덱스가 1이상이다 -> numbers를 더했을때 그 값이 1회 이상 나왔다. answer에 값을 추가 | |||
int j=0; | |||
for(int i=0; i<=200; i++) { | |||
if(TimesOfNumbers[i]) | |||
answer[j++] = i; | |||
} | |||
return answer; | |||
} | |||
Revision as of 08:06, 3 October 2020
Describe 새싹교실/2020/이찌반/김재훈 here
Level1
두개 뽑아서 더하기
#include <stdbool.h>
#include <stdlib.h>
// numbers_len은 배열 numbers의 길이입니다.
int* solution(int numbers[], size_t numbers_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int TimesOfNumbers[201] = {0, }; //더한 결과값을 나타내는 배열, ex)1+1=2 -> 배열의 2번째 칸 값을 1 증가
int sizeOfArr=0; //동적할당할 배열의 크기
for(int i=0; i<numbers_len; i++) {
for(int j=i+1; j<numbers_len; j++)
TimesOfNumbers[numbers[i]+numbers[j]]++;
}
for(int i=0; i<=200; i++) {
if(TimesOfNumbers[i])
sizeOfArr++;
}
int* answer = (int*)malloc(sizeof(int)*sizeOfArr);
//TimesOfNumbers의 n번째 인덱스가 1이상이다 -> numbers를 더했을때 그 값이 1회 이상 나왔다. answer에 값을 추가
int j=0;
for(int i=0; i<=200; i++) {
if(TimesOfNumbers[i])
answer[j++] = i;
}
return answer;
}