◇ 문제 설명
단체 유니폼을 주문하려고 합니다. 사람들의 덩치를 수치로 표현할 때 주문해야 하는 유니폼의 사이즈는 다음과 같습니다.
덩치 사이즈 95미만 S 95이상 100미만 M 100이상 105미만 L 105이상 XL
사람들의 덩치를 담은 배열 people, people의 길이 people_len이 매개변수로 주어질때, 주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL]순으로 배열에 담아 return하도록 solution함수를 작성해주세요.
◇ 매개변수 설명
사람들의 덩치를 담은 배열 people, people의 길이 people_len이 solution함수의 매개변수로 주어집니다.
▶ people_len은 1이상 100이하인 자연수입니다.
▶ 사람들의 덩치는 880이상 120이하인 자연수입니다.
◇ return값 설명
주문해야 하는 유니폼 사이즈의 수를 [S, M, L, XL]순으로 배열에 담아 return합니다.
◇ 예시
people | people_len | return |
[97, 102, 93, 100, 107] | 5 | [1, 1, 2, 1] |
◇ 예시 설명
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]++;
else if(people[i]<100)
answer[1]++;
else if(people[i]<105)
answer[2]++;
else
answer[3]++;
}
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");
}
◇ 답안 힌트
▶ 유니폼의 사이즈에 맞춰 S, M, L, XL의 개수를 구하세요
▶ answer[0]은 S, answer[1]은 M, answer[2]는 L, answer[3]은 XL을 나타낸다.
◇ 답안 풀이
(※ 실행 흐름 순으로 해석됩니다.)
int* solution(int people[], int people_len) {
int *answer = (int *) malloc(sizeof(int) * 4);
// answer의 0번 인덱스 부터 sizeof(int)*4인덱스 까지의 값을 0으로 초기화
memset(answer, 0, sizeof(int) * 4);
//answer[0]은 S, answer[1]은 M, answer[2]는 L, answer[3]은 XL을 나타낸다.
for(int i = 0; i<people_len; i++){
//만약 사이즈가 95 미만이면 answer[0]에 +1
if(people[i]<95)
answer[0]++;
//만약 사이즈가 95 이상 100미만이면 answer[1]에 +1
else if(people[i]<100)
answer[1]++;
//만약 사이즈가 100 이상 105미만이면 answer[2]에 +1
else if(people[i]<105)
answer[2]++;
//만약 사이즈가 105 이상이면 answer[3]에 +1
else
answer[3]++;
}
return answer;
}
◇ 실행결과
◇ 출처
COS PRO 2급 기출문제 - C언어 - 구름EDU
YBM IT에서 시행하는 COS Pro 자격증 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.
edu.goorm.io
'Cospro 2급 > C언어' 카테고리의 다른 글
[6차] 문제5. 음료수 마시기. (빈병으로 음료수를 사세요!) 답안 및 풀이 (0) | 2021.05.30 |
---|---|
[6차] 문제4. 카드뽑기 게임! (도박은 안되요!) 답안 및 풀이 (0) | 2021.05.30 |
[6차] 문제2. 종이 나누어 주기 답안 및 풀이 (0) | 2021.05.30 |
[6차] 문제1. 저는 따뜻한 날이 좋아요. 답안 및 풀이 (0) | 2021.05.30 |
[5차] 문제10. 가장 오래 일한 사람을 구해주세요. 답안 및 풀이 (0) | 2021.05.30 |
댓글