본문 바로가기
프로그램/C언어 1000제

C언어 137제] 2015년 한국정보올림피아드 지역본선 초등부 1번 10부제

by 건티 2024. 5. 7.
728x90

출처 : 반크_세계유산 석굴암

 

문제]

서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다.

여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 5대의 자동차 번호의 일의 자리 숫자가 주어졌을 때 위반하는 자동차의 대수를 출력하면 된다. 

입력
첫 줄에는 날짜의 일의 자리 숫자가 주어지고 두 번째 줄에는 5대의 자동차 번호의 일의 자리 숫자가 주어진다. 날짜와 자동차의 일의 자리 숫자는 모두 0에서 9까지의 정수 중 하나이다. 

출력
주어진 날짜와 자동차의 일의 자리 숫자를 보고 10부제를 위반하는 차량의 대수를 출력한다.

예제 입력 1 
1
1 2 3 4 5
예제 출력 1 
1

예제 입력 2 
3
1 2 3 5 3
예제 출력 2 
2

예제 입력 3 
5
1 3 0 7 4
예제 출력 3 
0

출처 : 백준_10797번

 

참고풀이]

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i;
   int count=0;//위반대수 

   int N;//날짜 일자리 번호
   scanf("%d",&N);
   if(N<0 || N>9) return 0; 

   //5대의 자동차 번호의 일의 자리 숫자를 입력한다. 
   int *M=(int *)malloc(sizeof(int)*5);
   for(i=0;i<5;i++)
      scanf("%d",&M[i]);
   for(i=0;i<5;i++)
      if(M[i]<0 || M[i]>9) return 0;

   //위반 대수를 구한다. 
   for(i=0;i<5;i++)
      if(N==M[i]) count++;

   //결과출력
   printf("%d",count);

   free(M);
   return 0;
}

 

참고풀이 결과]

 

 

참고]

Python 274제] 2015년 한국정보올림피아드 지역본선 초등부 1번 10부제

 

 

 

 

 

대한민국의 아름다운 영토, 독도

 

반응형

댓글