단체 유니폼 맞추기
문제 설명
단체 유니폼을 주문하려고 한다. 사람들의 덩치를 수치로 표현할 때 주문해야 하는 유니폼의 사이즈는 다음과 같다.
사람들의 덩치를 담은 배열 people, people의 길이 people_len이 매개변수로 주어질 때, 주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL]순으로 배열에 담아 return 하는 solution 함수를 완성한다.
매개변수 설명
람들의 덩치를 담은 배열 people, people의 길이 people_len이 매개변수로 주어진다.
people_len은 1 이상 100 이하인 자연수이다.
사람들의 덩치는 80 이상 120 이하인 자연수이다.
return 값 설명
주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL]순으로 배열에 담아 return 한다.
예시
예시 설명
3번째 사람은 S 사이즈를 입어야 한다.
1번째 사람은 M 사이즈를 입어야 한다.
2, 4번째 사람은 L 사이즈를 입어야 한다.
5번째 사람은 XL 사이즈를 입어야 한다.
코드 설명
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(int people[], int people_len) {
int *answer = (int *) malloc(sizeof(int) * 4);
memset(answer, 0, sizeof(int) * 4); //배열을 초기화 하는 함수
for(int i=0; i<people_len; i++){
if(people[i]<95) answer[0]++; //S 사이즈
else if(people[i]<100) answer[1]++; //M 사이즈
else if(people[i]<105) answer[2]++; //L 사이즈
else answer[3]++; //XL 사이즈
}
return answer;
}
int main() {
int people[] = {97, 102, 93, 100, 107};
int people_len = 5;
int *ret = solution(people, people_len);
printf("solution 함수의 반환 값은 [");
for(int i = 0; i < 4; i++) {
if(i != 0)
printf(", ");
printf("%d", ret[i]);
}
printf("] 입니다.\n");
}
조건식을 쓸 때 95 이상 100 미만 이라고 해서 else if(people>=95 && people[i]<100) 이라 쓸 필욘 없다. 애초에 95 미만은 첫번째 조건식으로 거르기 때문에 95 이상인 사이즈만 두번째 조건식에 도달하기 때문이다. 나머지도 마찬가지.
'cospro2급 > cospro_6차' 카테고리의 다른 글
2021-05-30 / 5번 문제 (0) | 2021.05.30 |
---|---|
2021-05-30 / 10번 문제 (0) | 2021.05.30 |
2021-05-29 / 8번 문제 (0) | 2021.05.30 |
2021-05-28 / 2번 문제 (0) | 2021.05.28 |
2021-05-28 / 1번 문제 (0) | 2021.05.28 |