[코테]/[GroomEdu]
[COS PRO 2급] 4차 3번_획득 점수 구하기. 도박은 안되요 (C/C++)
Sky_
2021. 5. 19. 22:10

주어진 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
char* func_a(char* bundle, int start, int n) {
char* answer = (char*)malloc(sizeof(char) * n);
for (int i = 0; i < n; i++)
answer[i] = bundle[start + i * 2];
return answer;
}
int* func_b(int score1, int score2) {
int* answer = (int*)malloc(sizeof(int) * 2);
if (score1 > score2) {
answer[0] = 1;
answer[1] = score1;
}
else if (score1 < score2) {
answer[0] = 2;
answer[1] = score2;
}
else {
answer[0] = 0;
answer[1] = score1;
}
return answer;
}
int func_c(char* card, int card_length) {
int answer = 0;
for (int i = 0; i < card_length; i++) {
answer += card[i] - 'a' + 1;
}
return answer;
}
int* solution(int n, char* bundle) {
char* a_cards = ; //빈칸
char* b_cards = ; //빈칸
int a_score = ; //빈칸
int b_score = ; //빈칸
int* answer = ; //빈칸
return answer;
}
int main() {
int n = 4;
char* bundle = "cacdbdedccbb";
int* ret = solution(n, bundle);
printf("solution 함수의 반환 값은 [");
for (int i = 0; i < 2; i++) {
if (i != 0) printf(", ");
printf("%d", ret[i]);
}
printf("] 입니다.\n");
}
완성 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
char* func_a(char* bundle, int start, int n) {
char* answer = (char*)malloc(sizeof(char) * n);
for (int i = 0; i < n; i++)
answer[i] = bundle[start + i * 2];
return answer;
}
int* func_b(int score1, int score2) {
int* answer = (int*)malloc(sizeof(int) * 2);
if (score1 > score2) {
answer[0] = 1;
answer[1] = score1;
}
else if (score1 < score2) {
answer[0] = 2;
answer[1] = score2;
}
else {
answer[0] = 0;
answer[1] = score1;
}
return answer;
}
int func_c(char* card, int card_length) {
int answer = 0;
for (int i = 0; i < card_length; i++) {
answer += card[i] - 'a' + 1;
}
return answer;
}
int* solution(int n, char* bundle) {
char* a_cards = func_a(bundle, 0, n);
char* b_cards = func_a(bundle, 0, n);
int a_score = func_c(a_cards, n);
int b_score = func_c(b_cards, n);
int* answer = func_b(a_score, b_score);
return answer;
}
int main() {
int n = 4;
char* bundle = "cacdbdedccbb";
int* ret = solution(n, bundle);
printf("solution 함수의 반환 값은 [");
for (int i = 0; i < 2; i++) {
if (i != 0) printf(", ");
printf("%d", ret[i]);
}
printf("] 입니다.\n");
}
예시
n | bundle | bundle_len | return |
4 | "cacdbdedccbb" | 12 | [0,13] |
goorm
구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.
www.goorm.io