티스토리 뷰
주어진 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int func_a(int current_grade[], int last_grade[], int rank[], int arr_length, int max_diff_grade) {
int count = 0;
for (int i = 0; i < arr_length; i++) {
if (current_grade[i] >= 80 && rank[i] <= arr_length / 10)
count++;
else if (current_grade[i] >= 80 && rank[i] == 1)
count++;
else if (max_diff_grade == current_grade[i] - last_grade[i])
count++;
}
return count;
}
int* func_b(int current_grade[], int arr_length) {
int* rank = (int*)malloc(sizeof(int) * arr_length);
for (int i = 0; i < arr_length; i++)
rank[i] = 1;
for (int i = 0; i < arr_length; i++)
for (int j = 0; j < arr_length; j++)
if (current_grade[i] < current_grade[j])
rank[i]++;
return rank;
}
int func_c(int current_grade[], int last_grade[], int arr_length) {
int max_diff_grade = 1;
for (int i = 0; i < arr_length; i++) {
if (max_diff_grade < current_grade[i] - last_grade[i])
max_diff_grade = current_grade[i] - last_grade[i];
}
return max_diff_grade;
}
int solution(int current_grade[], int current_grade_len, int last_grade[], int last_grade_len) {
int arr_length = current_grade_len;
int* rank = func_b(current_grade, arr_length);
int max_diff_grade = func_c(current_grade, last_grade, arr_length);
int answer = func_a(current_grade, last_grade, rank, arr_length, max_diff_grade);
return answer;
}
int main() {
int current_grade[6] = { 70, 100, 70, 80, 50, 95 };
int current_grade_len = 6;
int last_grade[6] = { 35, 65, 80, 50, 20, 60 };
int last_grade_len = 6;
int ret = solution(current_grade, current_grade_len, last_grade, last_grade_len);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
완성 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int func_a(int current_grade[], int last_grade[], int rank[], int arr_length, int max_diff_grade) {
int count = 0;
for (int i = 0; i < arr_length; i++) {
if (current_grade[i] >= 80 && rank[i] <= arr_length / 10)
count++;
else if (current_grade[i] >= 80 && rank[i] == 1)
count++;
else if (max_diff_grade == current_grade[i] - last_grade[i])
count++;
}
return count;
}
int* func_b(int current_grade[], int arr_length) {
int* rank = (int*)malloc(sizeof(int) * arr_length);
for (int i = 0; i < arr_length; i++)
rank[i] = 1;
for (int i = 0; i < arr_length; i++)
for (int j = 0; j < arr_length; j++)
if (current_grade[i] < current_grade[j])
rank[i]++;
return rank;
}
int func_c(int current_grade[], int last_grade[], int arr_length) {
int max_diff_grade = 1;
for (int i = 0; i < arr_length; i++) {
if (max_diff_grade < current_grade[i] - last_grade[i])
max_diff_grade = current_grade[i] - last_grade[i];
}
return max_diff_grade;
}
int solution(int current_grade[], int current_grade_len, int last_grade[], int last_grade_len) {
int arr_length = current_grade_len;
int* rank = func_b(current_grade, arr_length);
int max_diff_grade = func_c(current_grade, last_grade, arr_length);
int answer = func_a(current_grade, last_grade, rank, arr_length, max_diff_grade);
return answer;
}
int main() {
int current_grade[6] = { 70, 100, 70, 80, 50, 95 };
int current_grade_len = 6;
int last_grade[6] = { 35, 65, 80, 50, 20, 60 };
int last_grade_len = 6;
int ret = solution(current_grade, current_grade_len, last_grade, last_grade_len);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
결과
current_grade | current_grade_len | ast_grade | ast_grade_len | return |
[70, 100, 70, 80, 50, 95] | 6 | [35, 65, 80, 50, 20, 60] | 6 | 3 |
goorm
구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.
www.goorm.io
'[코테] > [GroomEdu]' 카테고리의 다른 글
[COS PRO 2급] 3차 3번_체조 선수의 점수 구해주기 (C/C++) (0) | 2021.05.14 |
---|---|
[COS PRO 2급] 3차 4번_단어의 오타 수정하기 (C/C++) (0) | 2021.05.14 |
[COS PRO 2급] 3차 1번_학생의 등수 구하기 (C/C++) (0) | 2021.05.13 |
[COS PRO 2급] 2차 9번_투표에 대한 후보 찾기 (0) | 2021.05.12 |
[COS PRO 2급] 2차 7번_섭씨, 화씨 온도 바꾸기 (C/C++) (0) | 2021.05.11 |
댓글
공지사항
최근에 올라온 글
TAG
- 프로그래머스
- 코딩테스트
- 기출문제
- 자바
- 배열
- cospro기출
- 1급
- YBM기출
- C
- lv2
- 코스프로
- lv1
- 구름에듀
- programmers
- 구름에듀 기출문제
- YBM
- c언어 기출문제
- Java
- COSPRO 2급
- groom
- 배열활용문제
- CosPro
- cospro기출문제
- Cos Pro
- groomedu
- 구름 기출문제
- C++
- c언어
- 연습문제
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함