본문 바로가기

cospro2급/cospro_6차

2021-05-29 / 3번 문제

단체 유니폼 맞추기

 

문제 설명

단체 유니폼을 주문하려고 한다. 사람들의 덩치를 수치로 표현할 때 주문해야 하는 유니폼의 사이즈는 다음과 같다.

사람들의 덩치를 담은 배열 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 이상인 사이즈만 두번째 조건식에 도달하기 때문이다. 나머지도 마찬가지.

 

 

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

'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