[C언어 코드업 문제풀이] CodeUp 1165 : 축구의 신 1

코드업 1165 축구의 신 문제 풀이 해답입니다.

 

1. 문제 설명

 

지금 1반과 2반이 축구를 하고있다.

축구경기 타임은 총 90분이고,

현재 1반이 0점, 2반이 2점인 상황에서, 1반은 경남정보고 최고의 스트라이커인 성익이를 투입하기로 결정했다.

성익이는 5분마다 골을 넣을 수 있는 능력을 가지고 있다.

만약 80분에 투입이 되면 80분에 곧바로 골을 넣게되고 85분에 골을 넣음으로서 동점이 가능하게 된다.

(90분이되면 경기가 바로 종료되므로 골을 넣을 수 없다. 동내심판인 성빈이는 성익이가 잘 되는 것을 싫어하기 때문에 추가시간 따위는 주지 않는다. )

현재 경기타임과 우리팀의 득점이 입력으로 주어 질때, 성익이를 투입하면 우리팀의 최종 득점은 몇 점인지 출력하시오.

 

2. 입력

 

현재 경기시간과 우리팀의 득점이 입력으로 주어진다.(정수)

 

3. 출력

 

경기가 끝났을때 우리팀의 득점을 출력한다.

 

4. 입력 예시

 

74 2

 

5. 출력 예시

 

6

 

6. 문제 풀이

74분에 투입되면 74, 79, 84, 89 분에 골을 넣게 된다.

 

#include <stdio.h>
 
 
int main (void)
{
    
    int time , score;
 
    scanf("%d %d"&time, &score);
    time = 90 - time;
    if( time == 0){printf("%d",score);}  //90분 투입시 골을 넣지 못함
    else{
        score+=1//투입하자마자 골을 넣음
        if(time >=5){
            score += (time-1)/5;
        }
        printf("%d",score);
        
 
        
    }
    
 
    return 0;
}
 

 

일단 90분에 투입되면 골을 넣지 못합니다.

time = 90 - time;

    if( time == 0){printf("%d",score);}

 

90분이 아니라면 먼저 1골을 넣겠군요(89분이라도) -> score+=1;

그리고 이 친구는 5분마다 골을 넣는다고 했는데 

      if(time >=5){

            score += (time-1)/5;

        }

를 통해 남은 시간에 넣은 골을 구할 수 있습니다.

 

만약 80분에 투입되었다면 80, 85 분에 골을 넣고 90분은 경기가 종료되므로 골을 넣치 못합니다.

먼저  score+=1; 통해 1골을 계산해 주었고 , 남은 10분에 -1(90분) 인 9를 5로 나눈 1골을 넣어 총 2골을 넣게 되네요

 

52분에 투입되었다 해도, 52 , 57, 62, 67, 72, 77, 82, 87. -> 8골

1 + 37(90-52-1) /  5 = 8골이 계산됩니다. 

댓글()