티스토리 뷰
문제
A학교에서는 단체 티셔츠를 주문하기 위해 학생별로 원하는 티셔츠 사이즈를 조사했습니다. 선택할 수 있는 티셔츠 사이즈는 작은 순서대로 "XS","S","M","L","XL","XXL" 총 6종류가 있습니다.
학생별로 원하는 티셔츠 사이즈를 조사한 결과가 들어있는 배열 shirtsize와 shirtsize의 길이 shirtsizelen이 매개변수로 주어질 때, 사이즈별로 티셔츠가 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 배열에 담에 return하도록 solution함수를 완성해주세요.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(char* shirt_size[], int shirt_size_len) {
int* answer;
int arr[6];
answer=arr;
for(int i=0;i<shirt_size_len;i++){
if(shirt_size[i]=="XS") arr[0]++;
else if(shirt_size[i]=="S") arr[1]++;
else if(shirt_size[i]=="M") arr[2]++;
else if(shirt_size[i]=="L") arr[3]++;
else if(shirt_size[i]=="XL") arr[4]++;
else if(shirt_size[i]=="XXL") arr[5]++;
}
return answer;
}
int main() {
char* shirt_size[] = {"XS", "S", "L", "L", "XL", "S"};
int shirt_size_len = 6;
int* ret = solution(shirt_size, shirt_size_len);
printf("solution 함수의 반환 값은 {");
for(int i = 0; i < 6; i++){
if (i != 0) printf(", ");
printf("%d", ret[i]);
}
printf("} 입니다.\n");
}
[코드해석]
main에서 초기화된 shirts_size 배열은 6명의 학생이 각각 신청한 사이즈가 들어있다.
이 배열의 값과 길이를 solution함수에 넘겨준다.
이때 배열은 Call By Pointer형식으로 넘겨준다.
포인터 answer에 사이즈 순서대로 신청된 개수를 저장할 배열 arr을 연결한다.
(이때 배열 arr에는 "XS","S","M","L","XL","XXL" 순서로 저장한다.)
for문을 이용하여 각각의 shirt_size 사이즈와 일치할때 arr++를 진행한다. ("XS" -> arr[0])
arr의 주소값이 저장된 answer를 return하며 main에서는 출력작업을 마무리한 후 프로그램이 종료된다.
'[코테] > [GroomEdu]' 카테고리의 다른 글
[COS PRO 2급] 5번_배열의 순서 뒤집기 (C/C++) (0) | 2021.05.05 |
---|---|
[COS PRO 2급] 6번_369게임 박수의 개수는? (C/C++) (1) | 2021.05.05 |
[COS PRO 2급] 4번_등장하는 가장 많은 수와 적은수 구하기 (C/C++) (0) | 2021.05.03 |
[COS PRO 2급] 3번_시작 날짜와 끝 날짜의 사이 구하기 (C/C++) (0) | 2021.05.03 |
[COS PRO 2급] 2번_백화점 등급별 할인적용 (C/C++) (0) | 2021.05.02 |
댓글
공지사항
최근에 올라온 글
TAG
- groomedu
- cospro기출
- 배열활용문제
- CosPro
- 배열
- 코스프로
- 기출문제
- Cos Pro
- c언어
- 구름 기출문제
- 구름에듀 기출문제
- 구름에듀
- 코딩테스트
- cospro기출문제
- lv1
- C
- 알고리즘
- programmers
- 자바
- 1급
- 프로그래머스
- Java
- c언어 기출문제
- COSPRO 2급
- YBM
- lv2
- YBM기출
- 연습문제
- C++
- groom
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함