본문 바로가기

cospro2급/cospro_6차

2021-05-30 / 10번 문제

사과 박스 무게의 불량 검사

 

문제 설명

불량 사과 상자가 몇 박스인지 알아보려 한다. 사과 한 박스의 표준 무게는 weight이며, 표준 무게와 비교해 무게가 오차 10% 이내인 사과 박스는 정상품으로, 오차가 그보다 많은 사과 박스는 불량품으로 판정한다.

예를 들어 표준 무게가 600이라면 무게가 540 이상 660 이하인 사과 상자만 정상품이다. 판정해야할 사과 상자의 무게가 각각 [653, 670, 533, 540, 660]로 주어진다면 무게가 670, 533인 상자는 불량품이다. 따라서 주어진 상자 중 불량품은 2개이다.

표준 무게 weight와 판정해야 할 사과 상자의 무게가 담긴 배열 boxes, boxes의 길이 boxes_len이 매개변수로 주어질 때, 불량품의 개수를 return 하는 solution 함수를 완성한다. 

 

매개변수 설명

표준 무게 weight와 판정해야할 사과 상자의 무게가 담긴 배열 boxes, boxes의 길이 boxes_len이 solution 함수의 매개변수로 주어진다. 

   표준 무게는 500 이상 10000 이하이다.

   표준 무게는 항상 10으로 나누어 떨어진다.

   판정해야 할 사과 상자의 무게는 400 이상 12000 이하이다.

   boxes_len은 1 이상 20 이하이다. 

 

return 값 설명

불량품의 개수를 return 한다.

 

예시

 

예시 설명

표준 무게가 600이라면 무게가 540 이상 660 이하인 사과 상자만 정상품이다. 판정해야할 사과 상자의 무게가 각각 [653, 670, 533, 540, 660]로 주어진다면 무게가 670, 533인 상자는 불량품이다. 따라서 주어진 상자 중 불량품은 2개이다.

 

코드 설명

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int weight, int boxes[], int boxes_len) {
    int answer = 0;	//불량품의 개수
	  int a=weight*9/10;	//오차 범위 -10%
	int b=weight*11/10;	//오차범위 +10%
    for(int i = 0; i < boxes_len; i++)
      if(!(boxes[i]>=a && boxes[i]<=b))	//조건에 맞지 않으면 카운트
        answer++;
    return answer;
}

int main() {
    int weight = 600;
    int boxes[5] = {653, 670, 533, 540, 660};
    int boxes_len = 5;
    int ret = solution(weight, boxes, boxes_len);
    
    printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}

오차범위 10%는 원래의 무게 -10%, +10%라는 말이다. 즉 weight에서 10%를 뺀 90%, 10%를 더한 110%가 오차범위이다. 

 

 

 

goorm

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

www.goorm.io

 

'cospro2급 > cospro_6차' 카테고리의 다른 글

2021-05-30 / 7번 문제  (0) 2021.05.30
2021-05-30 / 5번 문제  (0) 2021.05.30
2021-05-29 / 8번 문제  (0) 2021.05.30
2021-05-29 / 3번 문제  (0) 2021.05.29
2021-05-28 / 2번 문제  (0) 2021.05.28