반응형
주차장에 몇 대가 들어올 수 있는 거야?
문제 설명
관공서 주차장에서는 차량 2부제를 실시합니다. 차량 2부제는 차량 번호 끝자리가 홀수인 차량은 홀수 일에만, 짝수인 차량은 짝수 일에만 주차장에 들어올 수 있도록 하는 제도입니다.
며칠인지를 나타내는 day, 그날 주차장에 들어오려고 하는 차들의 번호를 담고 있는 배열 numbers와 numbers의 길이 numbers_len이 매개변수로 주어질 때, 주차장에 들어올 수 있는 차량의 수를 return 하도록 solution 함수를 작성했습니다.
그러나, 코드 일부분이 잘못되어있기 때문에 올바르게 동작하지 않으므로 한 줄만 변경해서 올바르게 동작하도록 수정하세요.
예시
day | numbers | numbers_len | return |
17 | [3285, 1724, 4438, 2988, 3131, 2998] | 6 | 2 |
수정해야 할 코드
더보기
int solution(int day, int numbers[], int numbers_len) {
int count = 0;
for(int i = 0; i < numbers_len; i++)
if(numbers[i] % 2 != day % 2)
count++;
return count;
}
수정
if(numbers[i] % 2 != day % 2) → if(numbers[i] % 2 == day % 2) |
짝수일에는 끝자리가 짝수인 번호만, 홀수일에는 끝자리가 홀수인 번호만 들어온다.
번호를 2로 나누었을 때와 날짜를 2로 나누었을 때, 짝수면 0 홀수면 1이 나온다.
짝수인 번호는 짝수 날과 같아야지 count를 증가하는데, 수정 전 코드는 짝수인 번호와 홀수인 날과 같으면 count를 증가하기 때문에 오류가 발생한다.
코드 해석 및 전체 코드
count ) 주차장에 들어올 수 있는 차량의 수를 return 할 변수
for문 ) 0 ~ numbers_len - 1까지 반복한다.
if문 ) numbers[i] 를 2로 나누었을 때의 나머지와 day를 2로 나누었을 때의 나머지의 값이 같으면 count를 1 증가한다.
i | numbers[i] % 2 | day % 2 | if문 만족 |
0 | 3285 % 2 = 1 |
17 % 2 = 1 |
O |
1 | 1724 % 2 = 0 |
1 | X |
2 | 4438 % 2 = 0 |
1 | X |
3 | 2988 % 2 = 0 |
1 | X |
4 | 3131 % 2 = 1 |
1 | O |
5 | 2998 % 2 = 0 |
1 | X |
day는 17일로 홀수이고, numbers[0]과 numbers[4]가 홀수 번호이므로 count는 2 증가되어 2이다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int day, int numbers[], int numbers_len) {
int count = 0;
for (int i = 0; i < numbers_len; i++)
if (numbers[i] % 2 == day % 2)
count++;
return count;
}
int main() {
int day = 17;
int numbers[] = { 3285, 1724, 4438, 2988, 3131, 2998 };
int numbers_len = 6;
int ret = solution(day, numbers, numbers_len);
printf("solution 함수의 반환 값은 %d입니다.\n", ret);
}
구름 goormedu COS PRO 2급 기출문제 - C언어[3차]
문제9) 주차장에 몇대가 들어올수 있는거야?
반응형
'코딩 테스트 > [c언어] cos pro 2급 기출문제' 카테고리의 다른 글
[No.31] 상담 선생님은 너무 바빠요 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.18 |
---|---|
[No.30] 내 절반이 여기에 있는가? / cos pro 2급 c언어 기출 문제 (0) | 2021.05.17 |
[No.28] TV 애청자 A씨 / cos pro 2급 c언어 기출 문제 (1) | 2021.05.16 |
[No.27] 남은 재료로 주스 만들기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.16 |
[No.26] 타일 색칠 방법 구하기 / cos pro 2급 c언어 기출 문제 (2) | 2021.05.15 |
댓글