티스토리 뷰
주어진 코드
#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
'[코테] > [GroomEdu]' 카테고리의 다른 글
[COS PRO 2급] 4차 6번_여러분이 열심히 모은 point, 돌려 드립니다 (C/C++) (0) | 2021.05.20 |
---|---|
[COS PRO 2급] 4차 4번_조교의 수 구하기 (C/C++) (0) | 2021.05.19 |
[COS PRO 2급] 4차 1번_상담 선생님은 너무 바빠요 (C/C++) (0) | 2021.05.18 |
[COS PRO 2급] 4차 2번_시험 합격자가 몇명이지? (C/C++) (0) | 2021.05.18 |
[COS PRO 2급] 3차 10번_내 절반이 여기에 있는거야? (C/C++) (0) | 2021.05.17 |
댓글
공지사항
최근에 올라온 글
TAG
- 1급
- 구름에듀 기출문제
- CosPro
- 코딩테스트
- lv2
- YBM기출
- 구름 기출문제
- Java
- c언어
- c언어 기출문제
- groom
- 기출문제
- 배열활용문제
- cospro기출문제
- cospro기출
- Cos Pro
- 자바
- 연습문제
- 구름에듀
- 코스프로
- 배열
- YBM
- C
- groomedu
- C++
- lv1
- programmers
- 프로그래머스
- 알고리즘
- COSPRO 2급
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함